Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: undefined symbols in windows build
From: Andrew Johnson <anj@aps.anl.gov>
To: <core-talk@aps.anl.gov>, Jeff Hill <johill@lanl.gov>
Date: Tue, 19 Nov 2013 14:17:24 -0600
Hi Jeff,

On 11/19/2013 01:11 PM, Hill, Jeff wrote:

FWIW, I see some undefined symbols early in the build when building R3.15 native for windows with both mingw and also MS compilers. See below.

C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:102: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:103: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:110: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:114: undefined reference to `_imp__fdmgr_init@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:116: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:124: undefined reference to `_imp__epicsSocketCreate@12'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:127: undefined reference to `_imp__epicsSocketConvertErrnoToString'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:128: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:132: undefined reference to `_imp__epicsSocketEnableAddressReuseDuringTimeWait
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:145: undefined reference to `_imp__epicsSocketConvertErrnoToString'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:146: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:147: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:157: undefined reference to `_imp__epicsSocketConvertErrnoToString'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:158: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:173: undefined reference to `_imp__epicsSocketConvertErrnoToString'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:174: undefined reference to `_imp__epicsGetStderr@0'
C:\hill\epicsInBazaar\epicsR3.15-atomics-small-fixes\trunk\src\libCom\O.win32-x86-mingw/../../../src/libCom/log/iocLogServer.c:187: undefined reference to `_imp__epicsGetStderr@0'

I can build the 3.15 tip all the way to the end with no errors with both MinGW (actually using the gcc from Strawberry Perl, but the GnuWin32 version of make 3.81), and MSVC2010 (again using GnuWin32's make). The gmake 3.82 that comes with Strawberry Perl doesn't support $* properly, which is a shame as it provides everything else. I do get lots of warnings from aitConvert.h, plus a handful from elsewhere.

Try compiling using cmd.exe and with a minimal path -- here's how I set my path for win32-x86-mingw (after setting EPICS_BASE):

@ECHO OFF

REM ---- Windows
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

REM ---- Strawberry Tools
set PATH=%PATH%;C:\strawberry\c\bin

REM ---- Strawberry Perl
set PATH=%PATH%;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin

REM ---- GnuWin32 Make
set PATH=%PATH%;D:\Applications\GnuWin32\bin

REM ---- Vim 7.1
set PATH=%PATH%;Z:\Vim\vim71

REM ---- Bazaar
set PATH=%PATH%;D:\Applications\Bazaar

REM ---- EPICS
set EPICS_HOST_ARCH=win32-x86-mingw

set PATH=%PATH%;%EPICS_BASE%\bin\%EPICS_HOST_ARCH%

cd %EPICS_BASE%
ECHO Configured for %EPICS_HOST_ARCH% with Strawberry tools

and for win32-x86:

@ECHO OFF

REM ---- Windows
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

REM ---- Strawberry Tools
set PATH=%PATH%;C:\strawberry\c\bin

REM ---- Strawberry Perl
set PATH=%PATH%;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin

REM ---- GnuWin32 Make
set PATH=%PATH%;D:\Applications\GnuWin32\bin

REM ---- Vim 7.1
set PATH=%PATH%;Z:\Vim\vim71

REM ---- Bazaar
set PATH=%PATH%;D:\Applications\Bazaar

REM ---- Visual Studio 2010
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"

REM ---- EPICS
set EPICS_HOST_ARCH=win32-x86

set PATH=%PATH%;%EPICS_BASE%\bin\%EPICS_HOST_ARCH%

cd %EPICS_BASE%
ECHO Configured for %EPICS_HOST_ARCH% with Strawberry tools

There might still be some name decorations that we have wrong, but I don't see any on Linux where I build 3.15 with -fvisibility=hidden (see comments in shareLib.h).

- Andrew
--
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock

Replies:
RE: undefined symbols in windows build Hill, Jeff
References:
undefined symbols in windows build Hill, Jeff

Navigate by Date:
Prev: undefined symbols in windows build Hill, Jeff
Next: RE: undefined symbols in windows build Hill, Jeff
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: undefined symbols in windows build Hill, Jeff
Next: RE: undefined symbols in windows build Hill, Jeff
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 19 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·