fang at csl.cornell.edu
Wed Jan 13 02:03:52 EST 2010
> Re: 2.6.2: check test build fail on powerpc-apple-darwin8
I've noticed that ticket #10966 still hasn't been fixed, 2.6.5
still exhibits the problem during make check.
I offered a solution several months ago that still works.
You need to distinguish between a shared library that is a plug-in
and one that is not, as the warning says.
The plug-in may simply link to a shared library (with the same symbols),
for instance, letting libtool take care of the magic.
>> I'm seeing the following error during make check for pidgin 2.6.2
>> (new since 2.6.1).
>> /bin/sh ../../libtool --silent --tag=CC --mode=link gcc -g -Os -L/sw/lib
>> -o check_libpurple check_libpurple-check_libpurple.o
>> check_libpurple-test_cipher.o check_libpurple-test_jabber_jutil.o
>> check_libpurple-test_qq.o check_libpurple-test_yahoo_util.o
>> check_libpurple-test_util.o -L/sw/lib -lcheck -L/sw/lib -lgobject-2.0
>> -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
>> ../../libpurple/protocols/yahoo/libymsg.la ../../libpurple/libpurple.la
>> -ldb -lpthread -lresolv -Wl,-framework,IOKit -Wl,-framework,CoreFoundation
>> *** Warning: Linking the executable check_libpurple against the loadable
>> *** libqq.so is not portable!
>> *** Warning: lib libqq.so is a module, not a shared library
>> *** And there doesn't seem to be a static archive available
>> *** The link will probably fail, sorry
>> ../../libpurple/protocols/qq/.libs/libqq.so is input for the dynamic link
>> editor, is not relocatable by the static link editor again
>> collect2: ld returned 1 exit status
>> make: *** [check_libpurple] Error 1
> I've 'fixed' this locally by creating a non-module libqq.la:
> noinst_LTLIBRARIES += libqq_test.la
> libqq_test_la_SOURCES = $(QQSOURCES)
> libqq_test_la_LIBADD = $(libqq_la_LIBADD)
And linking the test executable to the non-module library:
> $(top_builddir)/libpurple/protocols/qq/libqq_test.la \
> and now this links correctly, and passes tests.
> make check-TESTS
> Running suite(s): Master Suite
> Cipher Suite
> Jabber Utility Functions
> Yahoo Utility Functions
> Utility Functions
> 100%: Checks: 80, Failures: 0, Errors: 0
> PASS: check_libpurple
> All 1 tests passed
Alternatively, libqq.la could just LIBADD libqq_test.la.
Please consider applying this, so that make check will work again.
Thanks for developing pidgin!
More information about the Devel