I have been using linux as a scientist for many years, and I sort of vaguely understand how install scripts and Makefiles work, though I am embarassed to say I have never done a proper study of them.
I am installing some scientific software from source, and I have a problem where the
-ldl
flag is not recognized. Here is an example of an error that comes up in the output:
Code:
/bin/bash ../../libtool --mode=link g++ -g -O2 -o DllPlugInTester -ldl DllPlugInTester.o CommandLineParser.o ../../src/cppunit/libcppunit.la
g++ -g -O2 -o .libs/DllPlugInTester DllPlugInTester.o CommandLineParser.o -ldl ../../src/cppunit/.libs/libcppunit.so -Wl,--rpath -Wl,/media/shared/research/software/ScienceTools-v9r27p1-fssc-20120410/external/x86_64-unknown-linux-gnu-libc2.13-20/lib
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlsym'
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlopen'
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[10]: *** [DllPlugInTester] Error 1
make[10]: Leaving directory `/media/shared/research/software/ScienceTools-v9r27p1-fssc-20120410/external/cppunit/src/DllPlugInTester'
make[9]: *** [all-recursive] Error 1
Now I have gone into the directory where the offending "g++ ..." command is executed, and if I add the -ldl flag to the END of that compile statement, everything works. The problem is, I have NO CLUE how to get that done in the script, so that it doesn't throw this error and stop. Perhaps an alternative would be to have it stop exiting for errors? I am not sure how to do that either. I will attach the makefile, as soon as I figure out how...
Thank you!