On Friday 14 August 2009 10:23:21 Natanael Copa wrote:
> I wonder if I have some issue with my setup or if I am hitting a libtool
> bug of some sort.

not really a uClibc issue ...

> I tried to compile e2fsprogs-1.41.8 against the util-linux-ng-2.16's
> libuuid and libblkid. The configure script complained and said:
>
> checking for blkid_get_cache in -lblkid... no
> configure: error: external blkid library not found
> make: *** No targets specified and no makefile found.  Stop.
>
> configure:4629: ccache gcc -o conftest -march=i486 -Os -fomit-frame-pointer
> -march=i486 -Os -fomit-frame-pointer -Wl,--as-needed conftest.c -lblkid  
> >&5
> /usr/lib/gcc/i486-alpine-linux-uclibc/4.4.1/../../../libblkid.a(probe.o):
> In function `blkid_probe_set_uuid_as': (.text+0x47f): undefined reference
> to `uuid_unparse'

try not building everything with as-needed unless you're prepared to trace 
everything in your system

also, gcc shouldnt have linked against the static lib.  that indicates your 
install of blkid is screwed up and there is no .so next to the .a

> first i ran a check in the build dir:
> nclab01:~/aports/main/util-linux-ng/src/util-linux-ng-2.16$ scanelf -Rn . |
> grep libblk ...
> ET_DYN libc.so.0,ld-uClibc.so.0 ./shlibs/blkid/src/.libs/libblkid.so.1.1.0T
> ET_DYN libuuid.so.1,libc.so.0,ld-uClibc.so.0
> ./shlibs/blkid/src/.libs/libblkid.so.1.1.0 ...
>
> What i find funny here is that there *is* a correctly
> linked ./shlibs/blkid/src/.libs/libblkid.so.1.1.0 then the expected
> libuuid as NEEDED. However, during 'make install' this is not the one
> that gets installed. libtool picks the other one with the T suffix,
> thats not linked with libuuid.
>
> (after make install DESTDIR=/tmp/foo)
>
> nclab01:~/aports/main/util-linux-ng/src/util-linux-ng-2.16$ scanelf -Rn
> /tmp/foo / | grep libblk
> ...
> ET_DYN libc.so.0,ld-uClibc.so.0 /tmp/foo/lib/libblkid.so.1.1.0
> ...

so review the libtool link and libtool relink (install) steps, and the libtool 
linker script (.la)

> Now I'm stuck. After googling around it seems that there were some
> pkg-config stuff that should handle the linkerflags for util-linux-ng
> properly but that part looks correct. blkid.pc:
>
> Requires.private: uuid
> ..
> Libs: -L${libdir} -lblkid

the private only gets used when -static
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to