Not wanting to sound like a total ass . . . . but these sorts of issues seem to pop up all the time in Tech-Talk when people want to deploy this software for the first time, or after versions changes on certain modules. While validating the builds against those 4 different archs would be nice, could it also be extended to rebuilding all of this on totally fresh (virtual) systems? The #1 phrase that I total hate as an answer to anything is, "It works on my system."
Probably why people park on old versions of software for very long periods.
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Tuesday, September 29, 2015 12:17 PM
To: Kevin Peterson <[email protected]>; J. Lewis Muir <[email protected]>; Mark S. Engbretson <[email protected]>; [email protected]
Subject: RE: Unable to build support modules on Windows, with base 3.15.2
Folks,
I have determined that the following changes are required to build synApps_5_8 on win32-x86.
- areaDetector has the following problems:
- The top-level areaDetector is R2-0, while ADCore is R2-2.
This is not allowed, the RELEASE.md for ADCore R2-2 clearly states that
it requires R2-2 of the top-level areaDetector. It was just luck that this
worked on Linux and vxWorks.
The problem on Windows is that the CONFIG_SITE.local file is missing some
critical lines. Adding the following lines will allow it to work.
ifeq ($(OS_CLASS), WIN32)
HDF5_STATIC_BUILD=$(STATIC_BUILD)
endif
- The supplied top-level configure/RELEASE will not work under Windows on a Linux
file system. The normal areaDetector RELEASE_PATHS.local,
RELEASE_PATHS.local.win32-x86, RELEASE_LIBS.local, and RELEASE_PRODS.local
must be used.
- seq needs to be updated to seq-2-2-snapshot-2015-05-27. seq-2-2-1 and seq-2-2-2 do not build on win32-x86. Hopefully there will be a new official release of seq soon that builds on win32-x86.
- alive needs to be updated to the Subversion trunk version. This should be tagged as 1-1 soon.
- caputRecorder needs to be updated to 1-4-3. 1-4-2 does not build on dynamic Windows architectures.
- softGlue needs to be updated to 2-5. 2-4-3 does not build on Windows.
- love-3-2-5 has an unneeded file configure/RELEASE.win32-x86 that makes the build fail because it is not updated by "make release". Delete that file or update to Subversion trunk version.
- motor-6-9 will not build because of a problem in PhytronSrc. Edit
motorApp/PhytronSrc/phytronMotorAxis.cpp to make the following patch:
+#ifndef _WIN32
#include <unistd.h>
+#endif
- The allenBradley, devIocStats, ipac, and seq modules cannot be built under Windows on a Linux file system until the following line is added to configure/RELEASE immediately following the line that defines EPICS_BASE:
-include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)
devIocStats/configure/RELEASE also needs the following line right after the line that defines SUPPORT:
-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)
xxx needs the following changes to configure/RELEASE:
corvette:support/xxx-5-8-3/configure>diff -U3 ~/scratch/synApps_5_8/support/xxx-5-8-3/configure/RELEASE .
--- /home/epics/scratch/synApps_5_8/support/xxx-5-8-3/configure/RELEASE 2015-03-27 13:45:36.000000000 -0500
+++ ./RELEASE 2015-09-29 11:12:19.600114581 -0500
@@ -26,10 +26,13 @@
##############################################################################
# Define the path to the synApps support directory and uncomment.
SUPPORT=/home/oxygen/MOONEY/distrib/synApps_5_8/support
+-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)
# Specify the standard synApps configuration.
include $(SUPPORT)/configure/RELEASE
+-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)
+-include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)
#CAPUTLOG=$(SUPPORT)/caPutLog-3-4
I think the synApps_5_8 Known Problems page should contain the above information.
I also think that in the future synApps should be tested on the following 4 architectures before a new release is issued: win32-x86, win32-x86-static, windows-x64, windows-x64-static.
Mark
________________________________________
From: Kevin Peterson [[email protected]]
Sent: Thursday, September 24, 2015 1:54 PM
To: Mark Rivers; J. Lewis Muir; Mark S. Engbretson; [email protected]
Subject: Re: Unable to build support modules on Windows, with base 3.15.2
I believe I get the following link error when building seq-2-2-1 (included with synApps_5_8) and seq-2-2-2 when building for win32-x86:
link -nologo /LTCG /incremental:no /opt:ref /release
-out:snc.exe lexer.obj snl.obj main.obj node.obj var_types.obj
analysis.obj gen_code
.obj gen_ss_code.obj gen_tables.obj sym_table.obj builtin.obj
type_check.obj ..\\..\\..\\lib\\win32-x86\\seq.lib
..\\..\\..\\lib\\win32-x86\\pv.lib D:\\ep ics\\base-3.14.12.5\\lib\\win32-x86\\ca.lib
D:\\epics\\base-3.14.12.5\\lib\\win32-x86\\Com.lib
var_types.obj : error LNK2001: unresolved external symbol __imp__prim_type_name gen_tables.obj : error LNK2001: unresolved external symbol __imp__prim_type_tag_name snc.exe : fatal error LNK1120: 2 unresolved externals
make[4]: *** [snc.exe] Error 1120
make[4]: Leaving directory
`D:/epics/synApps_5_8/support/seq-2-2-2/src/snc/O.win32-x86'
make[3]: *** [install.win32-x86] Error 2
make[3]: Leaving directory `D:/epics/synApps_5_8/support/seq-2-2-2/src/snc'
make[2]: *** [snc.install] Error 2
make[2]: Leaving directory `D:/epics/synApps_5_8/support/seq-2-2-2/src'
make[1]: *** [src.install] Error 2
make[1]: Leaving directory `D:/epics/synApps_5_8/support/seq-2-2-2'
make: *** [D:/epics/synApps_5_8/support/seq-2-2-2.install] Error 2
alive-1-0 doesn't build for Windows unless you add the following libs to its src/Makefile. The alive svn repo contains a similar fix, but it assumes ws2_64 is available, which it wasn't on my system.
+alive_SYS_LIBS_WIN32 += ws2_32
+alive_SYS_LIBS_WIN32 += Advapi32
The version of ADCore included in synApps_5_8 fails to link out-of-the-box for win32-x86:
link /nologo /subsystem:windows /dll /LTCG /incremental:no /opt:ref
/release /implib:NeXus.lib /out:NeXus.dll napi.obj
napi5.obj napiu.obj nxdat
aset.obj nxio.obj nxstack.obj nxxml.obj stptok.obj D:\\epics\\synApps_5_8\\support\\areaDetector-R2-0\\ADBinaries-R2-2\\lib\\win32-x86\\libhdf5.lib
D:\\ep
ics\\synApps_5_8\\support\\areaDetector-R2-0\\ADBinaries-R2-2\\lib\\win32-x86\\libszip.lib
D:\\epics\\synApps_5_8\\support\\areaDetector-R2-0\\ADBinaries-R2-2\
\lib\\win32-x86\\libzlib.lib
LIBCMT.lib(timeset.obj) : error LNK2005: ___daylight already defined in
MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(timeset.obj) : error LNK2005: ___timezone already defined in
MSVCRT.lib(MSVCR100.dll)
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library NeXus.dll : fatal error LNK1169: one or more multiply defined symbols found
make[5]: *** [NeXus.dll] Error 1169
make[5]: Leaving directory
`D:/epics/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2/ADApp/nexusSrc/O.win32-x86'
make[4]: *** [install.win32-x86] Error 2
make[4]: Leaving directory
`D:/epics/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2/ADApp/nexusSrc'
make[3]: *** [nexusSrc.install] Error 2
make[3]: Leaving directory
`D:/epics/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2/ADApp'
make[2]: *** [ADApp.install] Error 2
make[2]: Leaving directory
`D:/epics/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2'
make[1]: ***
[D:/epics/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2.install] Error 2
make[1]: Leaving directory `D:/epics/synApps_5_8/support/areaDetector-R2-0'
make: *** [D:/epics/synApps_5_8/support/areaDetector-R2-0.install] Error 2
Those are the few errors that I copied into a text file before I gave up trying to build synApps_5_8 for its areaDetector support.
Kevin
On 9/24/15 1:35 PM, Mark Rivers wrote:
>> Many of the problems seem to be caused by Makefiles that
>> unconditionally build code that doesn't work on Windows, and
>> therefore are a problem for all versions of Visual Studio.
>
> I build all of synApps, including the sequencer on Windows, and don't have those problems. What modules specifically did you have trouble with?
>
> Mark
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Kevin Peterson
> Sent: Thursday, September 24, 2015 1:33 PM
> To: J. Lewis Muir; Mark S. Engbretson; [email protected]
> Subject: Re: Unable to build support modules on Windows, with base
> 3.15.2
>
> On 9/24/15 10:45 AM, J. Lewis Muir wrote:
>>> If you succeed at building base, you'll encounter more problems when
>>> you try to build other EPICS modules.
>>
>> Which problems are these? If a certain compiler does not build EPICS
>> software correctly, it would be good to note that compiler as
>> unsupported on Andrew's page.
>
> I have not had a chance to document all of the problems I encountered
> trying to build synApps_5_8 with Visual Studio Community 2015. Many
> of the problems seem to be caused by Makefiles that unconditionally
> build code that doesn't work on Windows, and therefore are a problem
> for all versions of Visual Studio.
>
> The sequencer is one module that is difficult to build on Windows, but
> those problems have already been discussed here.
>
> Kevin
>
- References:
- Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
- Re: Unable to build support modules on Windows, with base 3.15.2 Jani Hakala
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- RE: Unable to build support modules on Windows, with base 3.15.2 Heesterman, Peter J
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- Re: Unable to build support modules on Windows, with base 3.15.2 Bob Soliday
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark S. Engbretson
- Re: Unable to build support modules on Windows, with base 3.15.2 J. Lewis Muir
- Re: Unable to build support modules on Windows, with base 3.15.2 Kevin Peterson
- Re: Unable to build support modules on Windows, with base 3.15.2 J. Lewis Muir
- Re: Unable to build support modules on Windows, with base 3.15.2 Kevin Peterson
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- Re: Unable to build support modules on Windows, with base 3.15.2 Kevin Peterson
- RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- Navigate by Date:
- Prev:
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- Next:
Serial port COM10: not work? Heesterman, Peter J
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: Unable to build support modules on Windows, with base 3.15.2 Mark Rivers
- Next:
Re: Unable to build support modules on Windows, with base 3.15.2 Ben Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|