EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Problem building shareable libraries on win32-x86
From: "Mark Rivers" <[email protected]>
To: <[email protected]>
Cc: <[email protected]>
Date: Fri, 20 Apr 2007 18:56:08 -0500
Janet and all,

We need to rebuild the shareable libraries ezca, EzcaScan, and ezcaIDL
with 3.14.  This will allow IDL to read more than 16000 bytes, and
hopefully fix the problems we were discussing yesterday with IDL at the
Australian Synchrotron.

I have built EPICS base (3.14.8.2) for win32-x86 using
SHARED_LIBRARIES=NO and STATIC_BUILD=YES.  This allows me to make
statically built IOC applications that I can put on computers that don't
have access to all the DLLs from base, etc.

Now I want to build the extensions DLLs using SHARED_LIBRARIES=YES so I
make shareable DLLs.  I set SHARED_LIBRARIES=YES in
extensions/configure/CONFIG_SITE.  When I try to build, I get the
following error:

link /nologo /subsystem:windows /dll /LTCG /incremental:no /opt:ref
/release     
     /implib:ezca.lib /out:ezca.dll /def:../
     ezca.def  ezca.obj  H:/epics/base/lib/win32-x86/ca.lib
H:/epics/base/lib/win32-x86/Com.lib

Creating library ezca.lib and object ezca.exp
ca.lib(ca_client_context.obj) : error LNK2001: unresolved external
symbol __imp__bind@12
ca.lib(ca_client_context.obj) : error LNK2001: unresolved external
symbol __imp__sendto@24
ca.lib(ca_client_context.obj) : error LNK2001: unresolved external
symbol __imp__getsockname@12
ca.lib(ca_client_context.obj) : error LNK2001: unresolved external
symbol __imp__recvfrom@24
ca.lib(ca_client_context.obj) : error LNK2001: unresolved external
symbol __imp__ioctlsocket@12
ca.lib(udpiiu.obj) : error LNK2001: unresolved external symbol
__imp__setsockopt@20
ca.lib(udpiiu.obj) : error LNK2001: unresolved external symbol
__imp__WSAGetLastError@0
ca.lib(udpiiu.obj) : error LNK2001: unresolved external symbol
__imp__htonl@4
ca.lib(tcpiiu.obj) : error LNK2001: unresolved external symbol
__imp__getsockopt@20
ca.lib(tcpiiu.obj) : error LNK2001: unresolved external symbol
__imp__send@16
ca.lib(tcpiiu.obj) : error LNK2001: unresolved external symbol
__imp__recv@16
ca.lib(tcpiiu.obj) : error LNK2001: unresolved external symbol
__imp__shutdown@8
ca.lib(tcpiiu.obj) : error LNK2001: unresolved external symbol
__imp__connect@12
ca.lib(localHostName.obj) : error LNK2001: unresolved external symbol
__imp__gethostname@8
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__accept@12
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__gethostbyname@4
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__gethostbyaddr@12
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__closesocket@4
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__socket@12
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__WSACleanup@0
Com.lib(osdSock.obj) : error LNK2001: unresolved external symbol
__imp__WSAStartup@8
Com.lib(osiSock.obj) : error LNK2001: unresolved external symbol
__imp__ntohs@4
Com.lib(osiSock.obj) : error LNK2001: unresolved external symbol
__imp__ntohl@4
Com.lib(osdProcess.obj) : error LNK2001: unresolved external symbol
__imp__MessageBoxA@16
Com.lib(osdProcess.obj) : error LNK2001: unresolved external symbol
__imp__GetUserNameA@8
Com.lib(osdNetIntf.obj) : error LNK2001: unresolved external symbol
__imp__WSAIoctl@36
Com.lib(aToIPAddr.obj) : error LNK2001: unresolved external symbol
__imp__htons@4
ezca.dll : fatal error LNK1120: 27 unresolved externals
make[1]: *** [ezca.dll] Error 96
make[1]: Leaving directory
`/cygdrive/h/epics/extensions_devel/src/ezca/O.win32-x86'
make: *** [install.win32-x86] Error 2

The guts of the Makefile is:
INC += ezca.h
LIBRARY_HOST = ezca
ezca_SRCS = ezca.c
ezca_LIBS += ca Com

I find that I can eliminate the errors if I add the following line.  But
should this be necessary, or is there a better way to do it?

ezca_SYS_LIBS_WIN32 = ws2_32 advapi32 user32

Thanks,
Mark


Replies:
Re: Problem building shareable libraries on win32-x86 Ernest L. Williams Jr.

Navigate by Date:
Prev: RE: linux with 2.6 kernel Hammonds, John P.
Next: RE: Strange channel access problem Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: linux with 2.6 kernel Hammonds, John P.
Next: Re: Problem building shareable libraries on win32-x86 Ernest L. Williams Jr.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·