On Sun, Mar 10, 2013 at 10:27 AM, Nate Bargmann <n...@n0nb.us> wrote: > This is a long-standing bug in our project and I've yet to figure out > how to address it. > > The project is primarily a library that once installed has a "front end" > installed in libdir and N "back ends" (linked by libtool with the > '-module' option and using libltdl for dlopen) installed in pkglibdir. > Once the package is installed running 'make check' allows the test > programs to pass. However, running 'make distcheck' results in a > failure. > > For example: > > make[1]: Entering directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make check-am > make[2]: Entering directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make c++/testcpp > make[3]: Entering directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > CXX c++/testcpp.o > CXXLD c++/testcpp > make[3]: Leaving directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make check-TESTS > make[3]: Entering directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > rig:rig_init called > rig: loading backend dummy > rig: lt_dlopen("hamlib-dummy") failed (file not found), trying static > symbols... > rig: dlsym(initrigs3_dummy) failed > (/home/nate/git/hlbld/hamlib-3.0~git/_build/c++/.libs/lt-testcpp: undefined > symbol: initrigs3_dummy) > rig: lt_dlopen("hamlib-dummy") failed ((null)) > terminate called after throwing an instance of 'RigException' > /bin/bash: line 5: 17432 Aborted ${dir}$tst > FAIL: c++/testcpp > ======================================================= > 1 of 1 test failed > Please report to hamlib-develo...@lists.sourceforge.net > ======================================================= > make[3]: *** [check-TESTS] Error 1 > make[3]: Leaving directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make[2]: *** [check-am] Error 2 > make[2]: Leaving directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make[1]: *** [check] Error 2 > make[1]: Leaving directory `/home/nate/git/hlbld/hamlib-3.0~git/_build' > make: *** [distcheck] Error 1 > > > If I am guessing correctly, the system linker cannot find the back end > module in question (in this case 'dummy' which requires no amateur radio > hardware). How/where do I specify the directory 'make distcheck' uses? > > Here is the Makefile.am fragment for this portion of the library: > > lib_LTLIBRARIES += c++/libhamlib++.la > c___libhamlib___la_SOURCES = c++/rigclass.cc c++/rotclass.cc > c___libhamlib___la_LDFLAGS = -no-undefined -version-info > @ABI_VERSION@:@ABI_REVISION@:@ABI_AGE@ > c___libhamlib___la_LIBADD = $(top_builddir)/src/libhamlib.la > > check_PROGRAMS += c++/testcpp > TESTS += c++/testcpp > > c___testcpp_SOURCES = c++/testcpp.cc > c___testcpp_LDADD = c++/libhamlib++.la > c___testcpp_LDFLAGS = @BACKENDLNK@ > c___testcpp_DEPENDENCIES = c++/libhamlib++.la @BACKENDEPS@ > > > In this case testcpp is not able to load the backend. > > My Google fu left me with no answers so far. ;-)
Looks like the link path isn't set right for the test programs