automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

make distcheck fails when modules not installed


From: Nate Bargmann
Subject: make distcheck fails when modules not installed
Date: Sun, 10 Mar 2013 15:27:54 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

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 address@hidden
=======================================================
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.  ;-)

- Nate

-- 

"The optimist proclaims that we live in the best of all
possible worlds.  The pessimist fears this is true."

Ham radio, Linux, bikes, and more: http://www.n0nb.us



reply via email to

[Prev in Thread] Current Thread [Next in Thread]