-fPIC and current build failures



        Hi,

 tinymail now fails to build on amd64 for me with:
ount.o .libs/tny-camel-pop-store-account.o .libs/tny-camel-transport-account.o .libs/tny-camel-stream.o .libs/tny-stream-camel.o .libs/tny-camel-send-queue.o .libs/tny-camel-mem-stream.o .libs/tny-session-camel.o .libs/tny-camel-queue.o .libs/tny-camel-bs-msg.o .libs/tny-camel-bs-mime-part.o .libs/tny-camel-bs-msg-receive-strategy.o .libs/tny-camel-bs-msg-header.o  -Wl,--rpath -Wl,/home/lool/svn/tinymail/tinymail/trunk/libtinymail-camel/camel-lite/camel/.libs -Wl,--rpath -Wl,/home/lool/svn/tinymail/tinymail/trunk/libtinymail/.libs -Wl,--rpath -Wl,/home/lool/svn/tinymail/tinymail/trunk/prefix/lib /usr/lib/libgobject-2.0.so /usr/lib/libglib-2.0.so ../libtinymail-camel/camel-lite/camel/.libs/libcamel-lite-1.2.so ../libtinymail-camel/camel-lite/camel/.libs/libcamel-lite-provider-1.2.so ../libtinymail/.libs/libtinymail-1.0.so ../libtinymail-camel/bs/libbodystruct.a  -Wl,-soname -Wl,libtinymail-camel-1.0.so.0 -Wl,-version-script -Wl,.libs/libtinymail-camel-1.0.ver -o .libs/libtinymail-camel-1.0.so.0.0.0
/usr/bin/ld: ../libtinymail-camel/bs/libbodystruct.a(bodystruct.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
../libtinymail-camel/bs/libbodystruct.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [libtinymail-camel-1.0.la] Erreur 1

 This is a recent change, between r3066 and r3074.

 Passing CFLAGS="-fPIC" to configure makes the build succeed.

 I tried adding AC_LIBTOOL_PICMODE(yes) to configure.ac, but to no luck,
 even with --with-pic.


 With -fPIC in the CFLAGS, the build subsequently fails with:
gcc -O0 -g -ggdb -fPIC -o .libs/tny-demoui tny-main.o tny-demoui-summary-view.o -pthread -pthread  -L/usr/lib/xulrunner-devel-1.9b1/lib ../../libtinymail/.libs/libtinymail-1.0.so ../../libtinymailui/.libs/libtinymailui-1.0.so ../../libtinymailui-gtk/.libs/libtinymailui-gtk-1.0.so ../../libtinymail-camel/.libs/libtinymail-camel-1.0.so ../../libtinymail-maemo/.libs/libtinymail-maemo-1.0.so ../../libtinymailui-mozembed/.libs/libtinymailui-mozembed-1.0.so -lxpcomglue /usr/lib/libgnomeui-2.so -lSM -lICE /usr/lib/libbonoboui-2.so /usr/lib/libgnomevfs-2.so /usr/lib/libgnomecanvas-2.so /usr/lib/libgnome-2.so /usr/lib/libpopt.so /usr/lib/libbonobo-2.so /usr/lib/libbonobo-activation.so /usr/lib/libart_lgpl_2.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libgconf-2.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libORBit-2.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libgobject-2.0.so /usr/lib/libgnome-keyring.so /usr/lib/libglib-2.0.so  -Wl,--rpath -Wl,/home/lool/svn/tinymail/tinymail/trunk/prefix/lib
../../libtinymail-camel/.libs/libtinymail-camel-1.0.so: undefined reference to `camel_folder_get_cache_filename'
../../libtinymail-camel/.libs/libtinymail-camel-1.0.so: undefined reference to `camel_folder_fetch'
../../libtinymail-camel/.libs/libtinymail-camel-1.0.so: undefined reference to `camel_folder_fetch_structure'
collect2: ld returned 1 exit status

 Looks like missing link flags in libtinymail-camel, but it could also
 be a rpath issue; not sure.

   Cheers,
-- 
Loïc Minier


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