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: RE: Problem building ezcaIDL on Windows
From: Mark Rivers via Core-talk <core-talk at aps.anl.gov>
To: 'Michael Davidsaver' <mdavidsaver at gmail.com>, EPICS core-talk <core-talk at aps.anl.gov>
Date: Fri, 11 Jun 2021 16:57:01 +0000
> Linking against 'dbghelp'.

Thanks, I had just figured that out.

My problem is now completely solved.  The solution is not to build with the windows-x64 architecture, in spite of the fact the ezcaIDL is building a DLL.  One needs to use the windows-x64-static architecture, but specify SHARED_LIBRARIES=YES in the Makefile.  The resulting DLL is completely self-contained, no dependency on base, ezca, or EzscaScan.

I am going to make pull requests for ezca, EzcaScan, and ezcaIDL.  Their Makefiles date from before when there were separate Windows architectures for dynamic builds (windows-x64) and static builds (windows-x64-static).  The .def files are no longer needed, and I will fix compiler warnings.

Thanks,
Mark


-----Original Message-----
From: Michael Davidsaver <mdavidsaver at gmail.com> 
Sent: Friday, June 11, 2021 11:50 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; EPICS core-talk <core-talk at aps.anl.gov>
Subject: Re: Problem building ezcaIDL on Windows

On 6/11/21 9:22 AM, Mark Rivers via Core-talk wrote:
> Com.lib(osdFindAddr.obj) : error LNK2019: unresolved external symbol __imp_SymSetOptions referenced in function epicsFindAddr
> 
> Com.lib(osdFindAddr.obj) : error LNK2019: unresolved external symbol __imp_SymGetLineFromAddr64 referenced in function epicsFindAddr
> 
> Com.lib(osdFindAddr.obj) : error LNK2019: unresolved external symbol __imp_SymInitialize referenced in function epicsFindAddr
> 
> Com.lib(osdFindAddr.obj) : error LNK2019: unresolved external symbol __imp_SymFromAddr referenced in function epicsFindAddr
> 
> ezcaIDL.dll : fatal error LNK1120: 4 unresolved externals
> 
> make[1]: *** [../../../../base/configure/RULES_BUILD:298: ezcaIDL.dll] Error 1120
> 
> make[1]: Leaving directory 'H:/epics/extensions_new/src/ezcaIDL/O.windows-x64-static'
> 
> make: *** [../../../base/configure/RULES_ARCHS:58: install.windows-x64-static] Error 2
> 
>  
> 
> Is there a way around that error?
> 

Linking against 'dbghelp'.

eg. Com.dll is being linked against:

> Com_SYS_LIBS_WIN32 = ws2_32 advapi32 user32 dbghelp

https://github.com/epics-base/epics-base/blob/f727d16b0dbd88492f7676d7b5a1ecd1f4d21a11/modules/libcom/src/Makefile#L61

Replies:
Re: Problem building ezcaIDL on Windows Johnson, Andrew N. via Core-talk
References:
Problem building ezcaIDL on Windows Mark Rivers via Core-talk
RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk
RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk
Re: Problem building ezcaIDL on Windows Michael Davidsaver via Core-talk

Navigate by Date:
Prev: [Bug 1712363] Re: ao record does not support SIMM=RAW Evan Daykin via Core-talk
Next: Re: Problem building ezcaIDL on Windows Johnson, Andrew N. 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: Re: Problem building ezcaIDL on Windows Michael Davidsaver via Core-talk
Next: Re: Problem building ezcaIDL on Windows Johnson, Andrew N. 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 ·