Closed MarkRivers closed 4 years ago
With this new version of assemble_synApps.sh I have tested with base 7.0.3. I believe it will work the same on 3.15.6 because I have set WITH_PVA=NO. I had no problems on linux-x86 or vxWorks-ppc32. It builds the ADSimDetector IOC.
On linux-x86_64 I ran into this error in the final step of linking xxxApp.
corvette:xxx-R6-1/xxxApp/src>make
make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \
T_A=linux-x86_64 install
make[1]: Entering directory `/home/epics/scratch/synApps/support/synApps/support/xxx-R6-1/xxxApp/src/O.linux-x86_64'
/usr/bin/g++ -o xxx
-L/home/epics/scratch/synApps/support/synApps/support/xxx-R6-1/lib/linux-x86_64
-L/usr/local/epics-devel/base-7.0.3/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/StreamDevice-2-8-9/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/Yokogawa_DAS-R2-0-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/alive-R1-1-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/asyn-R4-36/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/autosave-R5-10/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/busy-R1-7-2/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/calc-R3-7-3/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/caputRecorder-R1-7-2/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/dac128V-R2-9/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/delaygen-R1-2-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/dxp-R6-0/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/iocStats-3-1-16/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/ip-R2-20-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/ip330-R2-9/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/ipUnidig-R2-11/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/ipac-2-15/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/lua-R2-0/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/modbus-R3-0/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/optics-R2-13-3/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/quadEM-R9-2-1/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/seq-2-2-6/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/softGlue-R2-8-2/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/softGlueZynq-R2-0-2/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/sscan-R2-11-3/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/std-R3-6/lib/linux-x86_64
-L/home/epics/scratch/synApps/support/synApps/support/vac-R1-9/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/xxx-R6-1/lib/linux-x86_64
-Wl,-rpath,/usr/local/epics-devel/base-7.0.3/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/StreamDevice-2-8-9/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/Yokogawa_DAS-R2-0-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/alive-R1-1-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/asyn-R4-36/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/autosave-R5-10/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/busy-R1-7-2/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/calc-R3-7-3/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/caputRecorder-R1-7-2/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/dac128V-R2-9/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/delaygen-R1-2-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/dxp-R6-0/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/iocStats-3-1-16/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/ip-R2-20-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/ip330-R2-9/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/ipUnidig-R2-11/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/ipac-2-15/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/lua-R2-0/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/modbus-R3-0/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/optics-R2-13-3/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/quadEM-R9-2-1/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/seq-2-2-6/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/softGlue-R2-8-2/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/softGlueZynq-R2-0-2/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/sscan-R2-11-3/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/std-R3-6/lib/linux-x86_64
-Wl,-rpath,/home/epics/scratch/synApps/support/synApps/support/vac-R1-9/lib/linux-x86_64
-rdynamic -m64 iocxxxLinux_registerRecordDeviceDriver.o xxxMain.o
-lmw100 -lsoftGlueZynq -lsoftGlue -lip330 -ldac128V -lipUnidig -lIpac -ldxp -lhandel -lvac
-ldelaygen -lalive -ldevIocStats -lstream -lParker -lSmartMotor -lThorLabs -lsoftMotor
-lmotorSimSupport -lMclennan -lMicos -lMicroMo -lNewFocus -lNewport -lOriel -lPI -lPIJena -lAcs
-lacsTech80 -lAerotech -lAttocube -lFaulhaber -lIms -lKohzuMotor -lmotor -lmodbus -llua -lip
-lquadEM -lmca -loptics -lautosave -lscanProgress -lsscan -lbusy -lcalc -lstd -lasyn -lseq -lpv
-lcaputRecorder -ldbRecStd -ldbCore -lca -lCom -lusb
//home/epics/scratch/synApps/support/synApps/support/areaDetector-R3-7/ADSupport/lib/linux-x86_64/libNeXus.so:
undefined reference to `H5P_CLS_DATASET_CREATE_ID_g'
//home/epics/scratch/synApps/support/synApps/support/areaDetector-R3-7/ADSupport/lib/linux-x86_64/libNeXus.so:
undefined reference to `H5P_CLS_FILE_ACCESS_ID_g'
collect2: error: ld returned 1 exit status
make[1]: *** [xxx] Error 1
make[1]: Leaving directory `/home/epics/scratch/synApps/support/synApps/support/xxx-R6-1/xxxApp/src/O.linux-x86_64'
make: *** [install.linux-x86_64] Error 2
I am having trouble figuring this out. Why is XXX linking with libNexus? I don't see it in the Makefile. If it is linking with libNexus it also needs to link with libhdf5.
In order to build on Windows in the same tree that I built for Linux I had to do the following:
-include $(TOP)/../RELEASE.local
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
-include $(TOP)/configure/RELEASE.local
It built the ADsimDetector IOC fine. It gave the following error building the xxx executable;
J:\epics\scratch\synApps\support\synApps\support\xxx-R6-1\xxxApp\src>make
make -C O.windows-x64-static -f ../Makefile TOP=../../.. \
T_A=windows-x64-static install
make[1]: Entering directory 'J:/epics/scratch/synApps/support/synApps/support/xxx-R6-1/xxxApp/src/O.windows-x64-static'
link -nologo -incremental:no -opt:ref -release -MACHINE:X64 -out:xxx.exe
iocxxxWin64_registerRecordDeviceDriver.obj xxxMain.obj
J:/epics/scratch/synApps/support/synApps/support/dxpSITORO-R1-2/lib/windows-x64-static/dxpSITORO.lib
J:/epics/scratch/synApps/support/synApps/support/dxpSITORO-R1-2/lib/windows-x64-static/handelSITORO.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/libusb-1.0.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/mcaAmptek.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/wpcap.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/Packet.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/mcaCanberra.lib
J:/epics/scratch/synApps/support/synApps/support/measComp-R2-3/lib/windows-x64-static/cbw64.lib
J:/epics/scratch/synApps/support/synApps/support/measComp-R2-3/lib/windows-x64-static/measComp.lib
J:/epics/scratch/synApps/support/synApps/support/vac-R1-9/lib/windows-x64-static/vac.lib
J:/epics/scratch/synApps/support/synApps/support/delaygen-R1-2-1/lib/windows-x64-static/delaygen.lib
J:/epics/scratch/synApps/support/synApps/support/alive-R1-1-1/lib/windows-x64-static/alive.lib
J:/epics/scratch/synApps/support/synApps/support/iocStats-3-1-16/lib/windows-x64-static/devIocStats.lib
J:/epics/scratch/synApps/support/synApps/support/StreamDevice-2-8-9/lib/windows-x64-static/stream.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Parker.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/SmartMotor.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/ThorLabs.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/softMotor.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/motorSimSupport.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Mclennan.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Micos.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/MicroMo.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/NewFocus.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Newport.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Oriel.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/PI.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/PIJena.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Acs.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/acsTech80.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Aerotech.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Attocube.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Faulhaber.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/Ims.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/KohzuMotor.lib
J:/epics/scratch/synApps/support/synApps/support/motor-R7-1/lib/windows-x64-static/motor.lib
J:/epics/scratch/synApps/support/synApps/support/modbus-R3-0/lib/windows-x64-static/modbus.lib
J:/epics/scratch/synApps/support/synApps/support/lua-R2-0/lib/windows-x64-static/lua.lib
J:/epics/scratch/synApps/support/synApps/support/ip-R2-20-1/lib/windows-x64-static/ip.lib
J:/epics/scratch/synApps/support/synApps/support/quadEM-R9-2-1/lib/windows-x64-static/quadEM.lib
J:/epics/scratch/synApps/support/synApps/support/mca-R7-8/lib/windows-x64-static/mca.lib
J:/epics/scratch/synApps/support/synApps/support/optics-R2-13-3/lib/windows-x64-static/optics.lib
J:/epics/scratch/synApps/support/synApps/support/autosave-R5-10/lib/windows-x64-static/autosave.lib
J:/epics/scratch/synApps/support/synApps/support/sscan-R2-11-3/lib/windows-x64-static/scanProgress.lib J
:/epics/scratch/synApps/support/synApps/support/sscan-R2-11-3/lib/windows-x64-static/sscan.lib
J:/epics/scratch/synApps/support/synApps/support/busy-R1-7-2/lib/windows-x64-static/busy.lib
J:/epics/scratch/synApps/support/synApps/support/calc-R3-7-3/lib/windows-x64-static/calc.lib
J:/epics/scratch/synApps/support/synApps/support/std-R3-6/lib/windows-x64-static/std.lib
J:/epics/scratch/synApps/support/synApps/support/asyn-R4-36/lib/windows-x64-static/asyn.lib
J:/epics/scratch/synApps/support/synApps/support/seq-2-2-6/lib/windows-x64-static/seq.lib
J:/epics/scratch/synApps/support/synApps/support/seq-2-2-6/lib/windows-x64-static/pv.lib
J:/epics/scratch/synApps/support/synApps/support/caputRecorder-R1-7-2/lib/windows-x64-static/caputRecorder.lib
H:/epics-devel/base-7.0.3/lib/windows-x64-static/dbRecStd.lib
H:/epics-devel/base-7.0.3/lib/windows-x64-static/dbCore.lib
H:/epics-devel/base-7.0.3/lib/windows-x64-static/ca.lib
H:/epics-devel/base-7.0.3/lib/windows-x64-static/Com.lib
netapi32.lib ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib
Creating library xxx.lib and object xxx.exp
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: class NDAttribute * __cdecl NDAttributeList::add(char const *,char const *,enum NDAttrDataType_t,void *)" (?add@NDAttributeList@@QEAAPEAVNDAttribute@@PEBD0W4NDAttrDataType_t@@PEAX@Z) referenced in function "public: enum asynStatus __cdecl NDDxp::getMappingData(void)" (?getMappingData@NDDxp@@QEAA?AW4asynStatus@@XZ)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: int __cdecl NDArray::release(void)" (?release@NDArray@@QEAAHXZ) referenced in function "public: enum asynStatus __cdecl NDDxp::getMappingData(void)" (?getMappingData@NDDxp@@QEAA?AW4asynStatus@@XZ)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: int __cdecl NDArray::release(void)" (?release@NDArray@@QEAAHXZ)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: class NDArray * __cdecl NDArrayPool::alloc(int,unsigned __int64 *,enum NDDataType_t,unsigned __int64,void *)" (?alloc@NDArrayPool@@QEAAPEAVNDArray@@HPEA_KW4NDDataType_t@@_KPEAX@Z) referenced in function "public: enum asynStatus __cdecl NDDxp::getMappingData(void)" (?getMappingData@NDDxp@@QEAA?AW4asynStatus@@XZ)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: class NDArray * __cdecl NDArrayPool::alloc(int,unsigned __int64 *,enum NDDataType_t,unsigned __int64,void *)" (?alloc@NDArrayPool@@QEAAPEAVNDArray@@HPEA_KW4NDDataType_t@@_KPEAX@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: __cdecl asynNDArrayDriver::asynNDArrayDriver(char const *,int,int,unsigned __int64,int,int,int,int,int,int)" (??0asynNDArrayDriver@@QEAA@PEBDHH_KHHHHHH@Z) referenced in function "public: __cdecl NDDxp::NDDxp(char const *,int,int,unsigned __int64)" (??0NDDxp@@QEAA@PEBDHH_K@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: __cdecl asynNDArrayDriver::asynNDArrayDriver(char const *,int,int,unsigned __int64,int,int,int,int,int,int)" (??0asynNDArrayDriver@@QEAA@PEBDHH_KHHHHHH@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl asynNDArrayDriver::~asynNDArrayDriver(void)" (??1asynNDArrayDriver@@UEAA@XZ) referenced in function "int `public: __cdecl NDDxp::NDDxp(char const *,int,int,unsigned __int64)'::`1'::dtor$0" (?dtor$0@?0???0NDDxp@@QEAA@PEBDHH_K@Z@4HA)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl asynNDArrayDriver::~asynNDArrayDriver(void)" (??1asynNDArrayDriver@@UEAA@XZ)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl asynNDArrayDriver::~asynNDArrayDriver(void)" (??1asynNDArrayDriver@@UEAA@XZ)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl asynNDArrayDriver::~asynNDArrayDriver(void)" (??1asynNDArrayDriver@@UEAA@XZ)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeOctet(struct asynUser *,char const *,unsigned __int64,unsigned __int64 *)" (?writeOctet@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEBD_KPEA_K@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeOctet(struct asynUser *,char const *,unsigned __int64,unsigned __int64 *)" (?writeOctet@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEBD_KPEA_K@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeOctet(struct asynUser *,char const *,unsigned __int64,unsigned __int64 *)" (?writeOctet@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEBD_KPEA_K@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeOctet(struct asynUser *,char const *,unsigned __int64,unsigned __int64 *)" (?writeOctet@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEBD_KPEA_K@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readGenericPointer(struct asynUser *,void *)" (?readGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readGenericPointer(struct asynUser *,void *)" (?readGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readGenericPointer(struct asynUser *,void *)" (?readGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readGenericPointer(struct asynUser *,void *)" (?readGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeGenericPointer(struct asynUser *,void *)" (?writeGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeGenericPointer(struct asynUser *,void *)" (?writeGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeGenericPointer(struct asynUser *,void *)" (?writeGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeGenericPointer(struct asynUser *,void *)" (?writeGenericPointer@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAX@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::writeInt32(struct asynUser *,int)" (?writeInt32@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@H@Z) referenced in function "public: virtual enum asynStatus __cdecl NDDxp::writeInt32(struct asynUser *,int)" (?writeInt32@NDDxp@@UEAA?AW4asynStatus@@PEAUasynUser@@H@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readInt32(struct asynUser *,int *)" (?readInt32@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAH@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readInt32(struct asynUser *,int *)" (?readInt32@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAH@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readInt32(struct asynUser *,int *)" (?readInt32@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAH@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readInt32(struct asynUser *,int *)" (?readInt32@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAH@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readFloat64(struct asynUser *,double *)" (?readFloat64@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAN@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readFloat64(struct asynUser *,double *)" (?readFloat64@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAN@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readFloat64(struct asynUser *,double *)" (?readFloat64@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAN@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readFloat64(struct asynUser *,double *)" (?readFloat64@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAUasynUser@@PEAN@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2019: unresolved external symbol "public: virtual void __cdecl asynNDArrayDriver::report(struct _iobuf *,int)" (?report@asynNDArrayDriver@@UEAAXPEAU_iobuf@@H@Z) referenced in function "public: virtual void __cdecl NDDxp::report(struct _iobuf *,int)" (?report@NDDxp@@UEAAXPEAU_iobuf@@H@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl asynNDArrayDriver::report(struct _iobuf *,int)" (?report@asynNDArrayDriver@@UEAAXPEAU_iobuf@@H@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl asynNDArrayDriver::report(struct _iobuf *,int)" (?report@asynNDArrayDriver@@UEAAXPEAU_iobuf@@H@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl asynNDArrayDriver::report(struct _iobuf *,int)" (?report@asynNDArrayDriver@@UEAAXPEAU_iobuf@@H@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFilePath(char const *,int)" (?createFilePath@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEBDH@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFilePath(char const *,int)" (?createFilePath@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEBDH@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFilePath(char const *,int)" (?createFilePath@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEBDH@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFilePath(char const *,int)" (?createFilePath@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEBDH@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::checkPath(void)" (?checkPath@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::checkPath(void)" (?checkPath@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::checkPath(void)" (?checkPath@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::checkPath(void)" (?checkPath@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl asynNDArrayDriver::checkPath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?checkPath@asynNDArrayDriver@@UEAA_NAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl asynNDArrayDriver::checkPath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?checkPath@asynNDArrayDriver@@UEAA_NAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl asynNDArrayDriver::checkPath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?checkPath@asynNDArrayDriver@@UEAA_NAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual bool __cdecl asynNDArrayDriver::checkPath(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?checkPath@asynNDArrayDriver@@UEAA_NAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD0@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD0@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD0@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::createFileName(int,char *,char *)" (?createFileName@asynNDArrayDriver@@UEAA?AW4asynStatus@@HPEAD0@Z)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readNDAttributesFile(void)" (?readNDAttributesFile@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readNDAttributesFile(void)" (?readNDAttributesFile@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readNDAttributesFile(void)" (?readNDAttributesFile@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::readNDAttributesFile(void)" (?readNDAttributesFile@asynNDArrayDriver@@UEAA?AW4asynStatus@@XZ)
dxpSITORO.lib(NDDxp.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::getAttributes(class NDAttributeList *)" (?getAttributes@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAVNDAttributeList@@@Z)
quadEM.lib(drvAHxxx.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::getAttributes(class NDAttributeList *)" (?getAttributes@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAVNDAttributeList@@@Z)
quadEM.lib(drvTetrAMM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::getAttributes(class NDAttributeList *)" (?getAttributes@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAVNDAttributeList@@@Z)
quadEM.lib(drvQuadEM.obj) : error LNK2001: unresolved external symbol "public: virtual enum asynStatus __cdecl asynNDArrayDriver::getAttributes(class NDAttributeList *)" (?getAttributes@asynNDArrayDriver@@UEAA?AW4asynStatus@@PEAVNDAttributeList@@@Z)
xxx.exe : fatal error LNK1120: 19 unresolved externals
make[1]: *** [H:/epics-devel/base-7.0.3/configure/RULES_BUILD:207: xxx.exe] Error 1120
make[1]: Leaving directory 'J:/epics/scratch/synApps/support/synApps/support/xxx-R6-1/xxxApp/src/O.windows-x64-static'
make: *** [H:/epics-devel/base-7.0.3/configure/RULES_ARCHS:58: install.windows-x64-static] Error 2
J:\epics\scratch\synApps\support\synApps\support\xxx-R6-1\xxxApp\src>
I have solved both the linux-x86_64 and windows-x64-static build problems in XXX with the same solution.
support/configure/RELEASE needs these 2 lines after the definition of AREA_DETECTOR:
ADCORE=$(AREA_DETECTOR)/ADCore
ADSUPPORT=$(AREA_DETECTOR)/ADSupport
With those lines XXX builds fine for all the archs I tested.
This is a bug, because if XXX uses DXP or QUADEM it needs to link with ADCore and ADSupport.
This is now working. These are the changes I made to assemble_synApps.sh
With this version I was able to build everything including xxx on linux-x64_64 and windows-x64-static. For Windows I had to create:
In the future I should be able to change areaDetector so the latter 2 files are not needed, and it reads support/configure/RELEASE.$(EPICS_HOST_ARCH).local instead. Once all EPICS modules include that file then the files in support/configure/ above will also no longer be needed.
This greatly simplifies the install for areaDetector, mainly by using sed to edit files rather than creating new versions.
Do not merge yet since I still have some issues.