1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: undefined reference to symbol 'pvar_dset_asynInt32ArrayWfIn' |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, Peter Pitfield <pitfieldp at gmail.com> |
Date: | Wed, 27 Sep 2023 12:55:15 +0000 |
Hi Peter,
The EPICS LabJack module builds an IOC application called LabJackApp. Have you successfully built that? You can use that IOC and the LabJack/iocBoot/iocLabJack_Txxx directory to test your device and the EPICS support.
For building your own IOC you should use the one in LackJack as an example. Your configure/RELEASE file needs to include busy and asyn like this one:
You will probably also want to include autosave there.
Your application Makefile needs to include the _DBD and _LIBS lines for busy, asyn, and optionally autosave like this one:
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Peter Pitfield via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, September 26, 2023 12:30 PM To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: undefined reference to symbol 'pvar_dset_asynInt32ArrayWfIn' Hello,
I am trying to use the labjack module, and I am receiving the error message in the subject line.
The complete error looks like this:
/usr/bin/g++ -o labjackIOC -L/home/raphael/EPICS/IOCs/labjackIOC/lib/linux-x86_64 -L/home/raphael/EPICS/epics-base/lib/linux-x86_64 -L/home/raphael/EPICS/support/LabJack/lib/linux-x86_64 -Wl,-rpath,/home/raphael/EPICS/IOCs/labjackIOC/lib/linux-x86_64
-Wl,-rpath,/home/raphael/EPICS/epics-base/lib/linux-x86_64 -Wl,-rpath,/home/raphael/EPICS/support/LabJack/lib/linux-x86_64 -rdynamic -m64 labjackIOC_registerRecordDeviceDriver.o labjackIOCMain.o -llabjackIOCSupport -lLabJack -lqsrv -lpvAccessIOC
-lpvAccessCA -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
/usr/bin/ld: labjackIOC_registerRecordDeviceDriver.o: undefined reference to symbol 'pvar_dset_asynInt32ArrayWfIn' /usr/bin/ld: /home/raphael/EPICS/support/asyn/lib/linux-x86_64/libasyn.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [/home/raphael/EPICS/epics-base/configure/RULES_BUILD:231: labjackIOC] Error 1 make[3]: Leaving directory '/home/raphael/EPICS/IOCs/labjackIOC/labjackIOCApp/src/O.linux-x86_64' make[2]: *** [/home/raphael/EPICS/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[2]: Leaving directory '/home/raphael/EPICS/IOCs/labjackIOC/labjackIOCApp/src' make[1]: *** [/home/raphael/EPICS/epics-base/configure/RULES_DIRS:85: src.install] Error 2 make[1]: Leaving directory '/home/raphael/EPICS/IOCs/labjackIOC/labjackIOCApp' make: *** [/home/raphael/EPICS/epics-base/configure/RULES_DIRS:85: labjackIOCApp.install] Error 2 Also, I do not know how to set up an IOC with the labjack module. I have checked the readme file in the module and the documentation it has a link to, but the setup instructions did not seem complete. I would like to know what, if anything, I might be
missing.
Thank you so much,
Peter
|