Error during make install

Derek Atkins warlord at MIT.EDU
Mon Apr 16 11:00:41 EDT 2012


Christian Stimming <christian at cstimming.de> writes:

> John,
>
> this build error as reported by Kevin points out a bit confusion in
> the src/engine/test/Makefile.am configuration:
>
> Zitat von Kevin Hale Boyes <kcboyes at gmail.com>:
>> make[5]: Entering directory `/home/hb/src/gnucash-trunk/src/engine/test'
>> ...
>> libtool: relink: gcc -shared  -fPIC -DPIC  .libs/utest-Split.o
>> .libs/gnc-numeric.o  -Wl,--whole-archive
>> ../test-core/.libs/libgncmod-test-engine.a -Wl,--no-whole-archive
>> -Wl,-rpath -Wl,/opt/gnucash-trunk/lib -Wl,-rpath
>> -Wl,/opt/gnucash-trunk/lib/gnucash
>> -L/home/hb/src/gnucash-trunk/src/libqof/qof/.libs
>> -L/home/hb/src/gnucash-trunk/src/gnc-module/.libs
>> -L/home/hb/src/gnucash-trunk/src/core-utils/.libs
>> -L/opt/gnucash-trunk/lib -L/lib -ltest-core
>> -L/opt/gnucash-trunk/lib/gnucash -lgncmod-engine -lgnc-module
>> -lgnc-core-utils -lguile -lgconf-2 -lgnc-qof -lgobject-2.0
>> -lgthread-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lpthread -lm  -pthread
>> -Wl,--export-dynamic   -pthread -Wl,-soname -Wl,libutest-Split.so.0 -o
>> .libs/libutest-Split.so.0.0.0
>> /usr/bin/ld: cannot find -ltest-core
>> collect2: ld returned 1 exit status
>> libtool: install: error: relink `libutest-Split.la' with the above
>> command before installing it
>> make[5]: *** [install-test_engineLTLIBRARIES] Error 1
>> make[5]: Leaving directory `/home/hb/src/gnucash-trunk/src/engine/test'
>
> Why should the "libutest-Split.la" library be installed anyway?
> Automake marks this library for installation becauses its name is
> listed in the test_engine_LIBRARIES variable, where the test_engine
> directory is defined as ${GNC_LIBEXECDIR}/${MODULEPATH}/test. However,
> the libutest-Split.la object in turn must have its library
> requirements listed (which is what I added yesterday) because
> otherwise windows won't build its DLL.
>
> (Remember, windows DLLs are not allowed to contain unresolved
> references, whereas Linux .so libraries are allowed to have them, so
> that's why you don't see the windows build error on Linux unless you
> additionally set up a mingw cross compilers for creating a windows
> DLL. That's why I had to add the correct library flags here.)
>
> Due to the Makefile rules, libutest-Split should be installed, but it
> probably contains references to libtest-core.la, which is not being
> installed (only listed in noinst_LTLIBRARIES). There's a contradiction
> here: Either you accidentally listed libutest-Split for installation
> and should instead list it in noinst_LTLIBRARIES, or you need to have
> libtest-core be installed as well. Which one to choose?

Why are we trying to install a test library?

IMHO test code should not be installed.

> Regards,
>
> Christian

-derek
-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list