Experimental Physics and Industrial Control System
|
Hi Andrew,
If the Makefile contains these lines then it builds the DLL correctly on windows-x64-static. dumpbin /exports shows the correct exported symbols.
SHARED_LIBRARIES=YES
LIBRARY_HOST = ezcaIDL
If the Makefile contains these lines then it builds the DLL, but the DLL does not export any symbols.
#SHARED_LIBRARIES=YES
#LIBRARY_HOST = ezcaIDL
LOADABLE_LIBRARY_HOST = ezcaIDL
H:\epics\extensions_new\src\ezcaIDL>dumpbin /exports ..\..\bin\windows-x64-static\ezcaIDL.dll
Microsoft (R) COFF/PE Dumper Version 14.00.24215.1
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file ..\..\bin\windows-x64-static\ezcaIDL.dll
File Type: DLL
Summary
15000 .data
1000 .gfids
8000 .pdata
2C000 .rdata
2000 .reloc
74000 .text
1000 .tls
Am I doing something wrong?
Thanks,
Mark
From: Johnson, Andrew N. <anj at anl.gov>
Sent: Friday, June 11, 2021 1:18 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Subject: Re: Problem building ezcaIDL on Windows
Hi Mark,
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.
You may be able to modify the Makefiles to have them build a LOADABLE_LIBRARY instead of a SHARED_LIBRARY since that’s what’s needed; on Windows that should still create a DLL even when SHARED_LIBRARIES=NO. That target type may not have
existed in 2007 when the Makefile was last worked on.
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.
There was a PR against ezca recently to convert it to build stand-alone instead of in an extensions tree, but the branch still needs a few modifications IMO and those three modules
should probably all be converted together if it’s going to happen. Nobody is really managing the ezca extensions modules any more – I converted their CVS history to Git several years ago, but I don’t have any customers that I know of so have no incentive to
do anything with them myself. Not sure whether BCDA are still building these or not.
Complexity comes for free, simplicity you have to work for.
|
- 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
- RE: Problem building ezcaIDL on Windows Mark Rivers via Core-talk
- Re: Problem building ezcaIDL on Windows Johnson, Andrew N. via Core-talk
- Navigate by Date:
- Prev:
Re: Problem building ezcaIDL on Windows Johnson, Andrew N. 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
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problem building ezcaIDL on Windows Johnson, Andrew N. 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
<2021>
2022
2023
2024
|
ANJ, 11 Jun 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|