-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ADPandABlocks undefined reference to symbol #1
Comments
@LeeHudsonDLS will this be fixed when you push master to GitHub? I've given you access to the repo now. |
Yes it should be but I don't seem to be able to push still |
I tried cloned again and the same issue. |
Apologies, the fix I pushed was related to asynPrint calls. epicsStdoutPrintf is from EPICS base. I'll find time early next week to look at this. |
I have just pushed the fix, please try this and let me know if it fixes it. For some reason I had to add the epics base libs manually for the tests/ area, I don't know why this is needed for your version of EPICS. |
Please see my error, something looks boost module issue? make -C O.linux-x86_64 -f ../Makefile TOP=../../.. |
I don't get these errors when I make the module here using your version of EPICS base. It looks like the compiler command that's failing is failing because it's referencing some object files that haven't yet been compiled. The objects should have been created as soon as make enters the ADPandABlocks/ADPandABlocksApp/tests/O.linux-x86_64 directory but it doesn't look like they are. If you see what my make is doing it's creating these objects first: make[3]: Entering directory `/home/jjc62351/work/ADPandABlocks/ADPandABlocksApp/tests/O.linux-x86_64' /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -O0 -g -Wall -Wextra -Wno-unused-parameter -mtune=generic -m64 -std=c++0x -pthread -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/scratch/pandaDep/asyn/include -I/scratch/pandaDep/ADCore/include -I/scratch/pandaDep/motor/include -I/scratch/base-3.15.6/include/compiler/gcc -I/scratch/base-3.15.6/include/os/Linux -I/scratch/base-3.15.6/include -I/usr/include/libxml2 -c ../test_ADPandABlocks.cpp /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -O0 -g -Wall -Wextra -Wno-unused-parameter -mtune=generic -m64 -std=c++0x -pthread -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/scratch/pandaDep/asyn/include -I/scratch/pandaDep/ADCore/include -I/scratch/pandaDep/motor/include -I/scratch/base-3.15.6/include/compiler/gcc -I/scratch/base-3.15.6/include/os/Linux -I/scratch/base-3.15.6/include -I/usr/include/libxml2 -c ../testingutilities.cpp /usr/bin/g++ -o tests -L/home/jjc62351/work/ADPandABlocks/lib/linux-x86_64 -L/scratch/base-3.15.6/lib/linux-x86_64 -L/scratch/pandaDep/ADCore/lib/linux-x86_64 -L/scratch/pandaDep/asyn/lib/linux-x86_64 -Wl,-rpath,/home/jjc62351/work/ADPandABlocks/lib/linux-x86_64 -Wl,-rpath,/scratch/base-3.15.6/lib/linux-x86_64 -Wl,-rpath,/scratch/pandaDep/ADCore/lib/linux-x86_64 -Wl,-rpath,/scratch/pandaDep/asyn/lib/linux-x86_64 -rdynamic -m64 tests.o test_ADPandABlocks.o testingutilities.o -ldbRecStd -ldbCore -lca -lCom -lADBase -lasyn -lADPandABlocks -lboost_unit_test_framework I'm not sure why yours is behaving differently as you should have the same Makefile as me. |
I disabled BOOT option and tried again. ADPandABlocks/ADPandABlocksApp/Makefile #ifdef BOOST DIRS :=
|
Is it right way for install boost lib? bpmlab2 ~/xilinx/kiman/PandA/ADPandABlocks $ sudo apt install libboost-dev Or |
To stop the failure after dls-xml-iocbuilder.py just delete the etc/ directory in the module and see if that builds. I'm afraid i'm not at all familiar with boost. |
etc/makeIocs/Makefile #XMLBUILDER := dls-xml-iocbuilder.py make[1]: Entering directory '/home/bpmlab2/xilinx/kiman/PandA/ADPandABlocks/etc' |
Just remove the etc/ directory all together. |
Now no errors. |
Unfortunately the iocbuilder application is somewhat tied to DLS infrastructure. I have attached an example IOC here: |
Thank you for example ioc. bpmlab2 ~/xilinx/kiman/PandA/panda_ioc $ make |
Hi,
Here is NSLS-II controls I am trying to compile ADPandABlocks epics IOC driver.
If found undefined reference to symbol error from my environment.
base-3.15.6
synApps_6_0
bpmlab2 ~/xilinx/kiman/PandA/ADPandABlocks $ make
make -C ./configure install
make[1]: Entering directory '/home/bpmlab2/xilinx/kiman/PandA/ADPandABlocks/configure'
perl -CSD /home/bpmlab2/xilinx/epics/base-3.15.6/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../..
T_A=linux-x86_64 install
:
ib/linux-x86_64 -Wl,-rpath,/usr/local/lib -rdynamic -m64 tests.o test_ADPandABlocks.o testingutilities.o -lboost_unit_test_framework -lNDPlugin -lasyn -lADPandABlocks
/usr/bin/ld: test_ADPandABlocks.o: undefined reference to symbol 'epicsStdoutPrintf'
//home/bpmlab2/xilinx/epics/base-3.15.6/lib/linux-x86_64/libCom.so.3.15.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
/home/bpmlab2/xilinx/epics/base-3.15.6/configure/RULES_BUILD:203: recipe for target 'tests' failed
make[3]: *** [tests] Error 1
make[3]: Leaving directory '/home/bpmlab2/xilinx/kiman/PandA/ADPandABlocks/ADPandABlocksApp/tests/O.linux-x86_64'
/home/bpmlab2/xilinx/epics/base-3.15.6/configure/RULES_ARCHS:58: recipe for target 'install.linux-x86_64' failed
make[2]: *** [install.linux-x86_64] Error 2
make[2]: Leaving directory '/home/bpmlab2/xilinx/kiman/PandA/ADPandABlocks/ADPandABlocksApp/tests'
/home/bpmlab2/xilinx/epics/base-3.15.6/configure/RULES_DIRS:84: recipe for target 'tests.install' failed
make[1]: *** [tests.install] Error 2
make[1]: Leaving directory '/home/bpmlab2/xilinx/kiman/PandA/ADPandABlocks/ADPandABlocksApp'
/home/bpmlab2/xilinx/epics/base-3.15.6/configure/RULES_DIRS:84: recipe for target 'ADPandABlocksApp.install' failed
make: *** [ADPandABlocksApp.install] Error 2
bpmlab2 ~/xilinx/kiman/PandA/ADPandABlocks $
The text was updated successfully, but these errors were encountered: