Re: -fPIC and current build failures



This problem should now be fixed (in trunk) as I use LTLIBRARIES in
stead of normal static ones now.


On Thu, 2007-12-06 at 15:09 +0100, Loïc Minier wrote:
> 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,
-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be






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