I imagine few people here will care about gtkimageview, but I need it for ufraw. And I've gone back to using the gold linker "because everything seemed to be too easy". I'm documenting this here so that google can find it the next time somebody hits this.
When I first used gold in the early part of this year, I had to use two seds : the first is because a function in gdk_pixbuf is now deprecated - sed -i -e '/CFLAGS/s/-Werror //g' configure.in The second, which worked with e.g. binutils-2.26 and glibc-2.23, is because gold doesn't go out of its way to find symbols in another library used by a library you link to (see e.g. https://wiki.debian.org/ToolChain/DSOLinking) - sed -e '/libtest.la/s:$: -lm:g' -i tests/Makefile.in (That was based on the rather more complex fix used by gentoo, which needed old versions of autotools if my memory serves) But with gold from 2.27 and glibc 2.24 I was back to: mkdir .libs gcc -O2 -Wall -std=c99 -Wmissing-prototypes -o .libs/ex-abssize ex-abssize.o ../src/.libs/libgtkimageview.so ./testlib/.libs/libtest.a -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lm -Wl,--rpath -Wl,/usr/lib ../src/.libs/libgtkimageview.so: error: undefined reference to 'ceil' collect2: error: ld returned 1 exit status In the end, changing the sed fixed this but it took me ages to figure it out (the order of libraries is important), I'm now using sed -e 's%\(./testlib/libtest.la\)%-lm \1%' -i tests/Makefile.in to put libm earlier in the link. ĸen -- `I shall take my mountains', said Lu-Tze. `The climate will be good for them.' -- Small Gods -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page