EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Problem building ezcaIDL on Windows
From: Mark Rivers via Core-talk <core-talk at aps.anl.gov>
To: EPICS core-talk <core-talk at aps.anl.gov>
Date: Fri, 11 Jun 2021 14:36:39 +0000

I am trying to build the master branch of https://github.com/epics-extensions/ezcaIDL on windows-x64 with base 7.0.4 and VS 2015.  This used to build OK, either on an earlier version of base or VS or both.

 

This extension builds a shareable library/DLL to call Channel Access from IDL.  It depends on extensions/ezca and extensions/EzcaScan.  Both of those libraries build fine on Windows.

 

ezcaIDL builds fine on Linux.  However, on Windows I get this:

 

H:\epics\extensions\src\ezcaIDL>make

make -C O.windows-x64 -f ../Makefile TOP=../../.. \

    T_A=windows-x64 install

make[1]: Entering directory 'H:/epics/extensions/src/ezcaIDL/O.windows-x64'

link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release  -MACHINE:X64    /manifest  -out:ezcaIDL.dll -implib:ezcaIDL.lib -def:../ezcaIDL.def   ezcaIDL.obj      ../../../lib/windows-x64/ezca.lib  ../../../lib/windows-x64/EzcaScan.lib  ../../../../base/lib/windows-x64/ca.lib  ../../../../base/lib/windows-x64/Com.lib  ws2_32.lib advapi32.lib user32.lib

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Zero' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Clear' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Add' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Get' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaCheckMonitorArray' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaGetMonitorArray' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaClearMonitorArray' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaAddMonitorArray' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Zero' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Get' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Clear' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Add' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaPutArrayEventValues' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaPutArrayValues' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayEventValues' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayTypeCount' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayValues' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaGetError' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaSearchList' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaTimeStamp' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaSetPendTime' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaPendEvent' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaInit' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaDebug' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'EzcaVersion' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLAutoErrorMessageOff' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLAutoErrorMessageOn' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLTraceOff' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLTraceOn' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLDebugOff' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLDebugOn' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLEndGroup' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLStartGroup' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetEnumStrings' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLEndGroupWithReport' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetRetryCount' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetTimeout' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetRetryCount' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetTimeout' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLNewMonitorValue' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLClearMonitor' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetMonitor' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetCountAndType' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPutOldCa' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPut' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetErrorString' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPerror' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetUnits' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetStatus' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetPrecision' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetGraphicLimits' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetControlLimits' specified multiple times; using first specification

ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGet' specified multiple times; using first specification

   Creating library ezcaIDL.lib and object ezcaIDL.exp

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_search_list

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getArrayEvent

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaTraceOn

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetTimeout

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaTraceOff

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getTypeCount

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaNewMonitorValue

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetRetryCount

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetMonitor

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaDebugOff

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaEndGroup

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaEndGroupWithReport

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_version

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetPrecision

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanClearMonitor

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanZeroMonitor

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayCheck

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPut

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_debug

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPutOldCa

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetRetryCount

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPvToChid

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaDebugOn

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_get_error_array

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetGraphicLimits

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetStatus

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetControlLimits

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueClear

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaAutoErrorMessageOn

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueGet

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanGetMonitor

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_putArray

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetErrorString

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanAdd

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_setPendTime

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetTimeout

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaFree

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_CA

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaClearMonitor

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaAutoErrorMessageOff

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_timeStamp

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayGet

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getArray

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGet

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayAdd

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueAdd

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaStartGroup

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayClear

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueZero

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_putArrayEvent

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetUnits

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_init

ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPerror

ezcaIDL.dll : fatal error LNK1120: 53 unresolved externals

make[1]: *** [../../../../base/configure/RULES_BUILD:298: ezcaIDL.dll] Error 1120

make[1]: Leaving directory 'H:/epics/extensions/src/ezcaIDL/O.windows-x64'

make: *** [../../../base/configure/RULES_ARCHS:58: install.windows-x64] Error 2

 

Note that it uses a .DEF file to define what symbols should be exported.

 

Has support for that changed?  If so, how do I need to do it now?

 

Thanks,

Mark

 

 


Replies:
RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk

Navigate by Date:
Prev: Build failed in Jenkins: EPICS-7 #353 Jenkins EPICS PSI via Core-talk
Next: RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Build failed in Jenkins: EPICS-3.14 #1060 Jenkins EPICS PSI via Core-talk
Next: RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 11 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·