![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||
|
Hi folks,
I'm attempting to add support for Measurement Computing devices into an existing IOC (that I currently use with some LabJack devices). However, I'm having an issue with building the IOC. As far as I can tell, the measurement computing support builds fine (I'm building it as part of synapps, but updated to the latest version of MeasComp in the git as of a couple of days ago). I can run one of the test IOCs that is included with the support in the synapps build without issue (in this case for the E-TC). The problem comes when I try to add the support to my IOC. I go to rebuild the IOC and I get the following errors: (main) biocat@dalek:/opt/epics/iocs/epics_iocs/soft_iocs/test$ make make -C ./configure install make[1]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure' perl -CSD /opt/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../.. mkdir -p O.Common make -C O.linux-x86_64 -f ../Makefile TOP=../.. \ T_A=linux-x86_64 install make[2]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure/O.linux-x86_64' perl -CSD /opt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease make[2]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure/O.linux-x86_64' make[1]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/configure' make -C ./labjackApp install make[1]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp' make -C ./src install make[2]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src' perl -CSD /opt/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../../.. mkdir -p O.Common make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \ T_A=linux-x86_64 install make[3]: Entering directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src/O.linux-x86_64' /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include -I/opt/epics/synApps_6_3/support/LabJack-master/include -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include -MM -MF labjackMain.d ../labjackMain.cpp Creating dbd file labjack.dbd perl -CSD /opt/epics/base/bin/linux-x86_64/dbdExpand.pl -I. -I.. -I../O.Common -I../../../dbd -I/opt/epics/synApps_6_3/support/autosave-R5-11/dbd -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/dbd -I/opt/epics/synApps_6_3/support/busy-R1-7-4/dbd -I/opt/epics/synApps_6_3/support/LabJack-master/dbd -I/opt/epics/synApps_6_3/support/measComp-master/dbd -I/opt/epics/base/dbd -o labjack.dbd base.dbd asyn.dbd busySupport.dbd asSupport.dbd LabJackSupport.dbd measCompSupport.dbd perl -CSD /opt/epics/base/bin/linux-x86_64/registerRecordDeviceDriver.pl -I. -I.. -I../O.Common -I../../../dbd -I/opt/epics/synApps_6_3/support/autosave-R5-11/dbd -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/dbd -I/opt/epics/synApps_6_3/support/busy-R1-7-4/dbd -I/opt/epics/synApps_6_3/support/LabJack-master/dbd -I/opt/epics/synApps_6_3/support/measComp-master/dbd -I/opt/epics/base/dbd -o labjack_registerRecordDeviceDriver.cpp \ ../O.Common/labjack.dbd labjack_registerRecordDeviceDriver /opt/epics/iocs/epics_iocs/soft_iocs/test /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include -I/opt/epics/synApps_6_3/support/LabJack-master/include -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include -MM -MF labjack_registerRecordDeviceDriver.d labjack_registerRecordDeviceDriver.cpp Installing created dbd file ../../../dbd/labjack.dbd /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include -I/opt/epics/synApps_6_3/support/LabJack-master/include -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include -c labjack_registerRecordDeviceDriver.cpp /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/opt/epics/synApps_6_3/support/autosave-R5-11/include/os/Linux -I/opt/epics/synApps_6_3/support/autosave-R5-11/include -I/opt/epics/synApps_6_3/support/asyn-R4-44-2/include -I/opt/epics/synApps_6_3/support/busy-R1-7-4/include -I/opt/epics/synApps_6_3/support/LabJack-master/include -I/opt/epics/synApps_6_3/support/measComp-master/include -I/opt/epics/base/include/compiler/gcc -I/opt/epics/base/include/os/Linux -I/opt/epics/base/include -c ../labjackMain.cpp /usr/bin/g++ -o labjack -L/opt/epics/iocs/epics_iocs/soft_iocs/test/lib/linux-x86_64 -L/opt/epics/base/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/LabJack-master/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/asyn-R4-44-2/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/autosave-R5-11/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/busy-R1-7-4/lib/linux-x86_64 -L/opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64 -Wl,-rpath,/opt/epics/iocs/epics_iocs/soft_iocs/test/lib/linux-x86_64 -Wl,-rpath,/opt/epics/base/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/LabJack-master/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/asyn-R4-44-2/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/autosave-R5-11/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/busy-R1-7-4/lib/linux-x86_64 -Wl,-rpath,/opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64 -rdynamic -m64 labjack_registerRecordDeviceDriver.o labjackMain.o -lLabJack -lbusy -lautosave -lasyn -lLabJackM -lmeasComp -ldbRecStd -ldbCore -lca -lCom /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScanStop' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScanStop' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScan' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDIn' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAISetConfigDbl' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInSetTrigger' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTIn' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDevGetConfigStr' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCLoad' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScanStatus' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetNetDaqDeviceDescriptor' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetDaqDeviceInventory' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCIn' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScanStop' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulReleaseDaqDevice' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOGetInfo' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCreateDaqDevice' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScan' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDaqInScanStatus' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInScanStatus' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTmrPulseOutStop' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAIn' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOutScan' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDIOGetInfo' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDConfigPort' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAOut' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulConnectDaqDevice' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDBitOut' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetErrMsg' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCClear' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulGetInfoStr' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDOut' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAInLoadQueue' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulDConfigBit' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCConfigScan' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCInScanStop' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulTmrPulseOutStart' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAISetConfig' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulAIGetInfo' /usr/bin/ld: /opt/epics/synApps_6_3/support/measComp-master/lib/linux-x86_64/libmeasComp.so: undefined reference to `ulCInScan' collect2: error: ld returned 1 exit status make[3]: *** [/opt/epics/base/configure/RULES_BUILD:231: labjack] Error 1 make[3]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src/O.linux-x86_64' make[2]: *** [/opt/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[2]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp/src' make[1]: *** [/opt/epics/base/configure/RULES_DIRS:85: src.install] Error 2 make[1]: Leaving directory '/opt/epics/iocs/epics_iocs/soft_iocs/test/labjackApp' make: *** [/opt/epics/base/configure/RULES_DIRS:85: labjackApp.install] Error 2 Here's the contents of my src/Makefile: TOP=../.. include $(TOP)/configure/CONFIG #---------------------------------------- # ADD MACRO DEFINITIONS AFTER THIS LINE #============================= #============================= # Build the IOC application PROD_IOC = labjack # labjack.dbd will be created and installed DBD += labjack.dbd # labjack.dbd will be made up from these files: labjack_DBD += base.dbd # Include dbd files from all support applications: labjack_DBD += asyn.dbd labjack_DBD += busySupport.dbd labjack_DBD += asSupport.dbd labjack_DBD += LabJackSupport.dbd labjack_DBD += measCompSupport.dbd # Add all the support libraries needed by this IOC labjack_LIBS += LabJack labjack_LIBS += busy labjack_LIBS += autosave labjack_LIBS += asyn labjack_LIBS += LabJackM labjack_LIBS += measComp # labjack_registerRecordDeviceDriver.cpp derives from labjack.dbd labjack_SRCS += labjack_registerRecordDeviceDriver.cpp # Build the main IOC entry point on workstation OSs. labjack_SRCS_DEFAULT += labjackMain.cpp # Add support from base/src/vxWorks if needed #labjack_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary # Finally link to the EPICS Base libraries labjack_LIBS += $(EPICS_BASE_IOC_LIBS) #=========================== include $(TOP)/configure/RULES #---------------------------------------- # ADD RULES AFTER THIS LINE In case it helps, I'm attempting to build this on Debian 12, and I did install the libuldaq-1.2.1 vendor drivers as instructed. If anyone has insight into what's going wrong that would be great. The IOC builds fine if I remove the measComp DBD and LIBS in the Makefile, but otherwise gives the above errors. All the best. - Jesse Jesse Hopkins, PhD Deputy Director BioCAT, Sector 18 Advanced Photon Source
| ||||||||||||||
ANJ, 12 Oct 2024 |
![]() · Download · Search · IRMIS · Talk · Documents · Links · Licensing · |