On Fri, Aug 29, 2008 at 12:26:29PM +0200, Robert Schwebel wrote: > On Fri, Aug 29, 2008 at 10:43:02AM +0200, Karel Zak wrote: > > On Fri, Aug 29, 2008 at 10:05:41AM +0200, Robert Schwebel wrote: > > > Configure checks for libuuid and makes it mandatory, but the > > > functions > > > > I don't think that libuuid is mandatory, it's optional. > > Thanks, I had a closer look and you are right, the patch needs to be > different. > > Here is the error output: > > arm-iwmmx-linux-gnueabi-gcc -std=gnu99 -fsigned-char -g -O2 -L/somewhere/sysroot-target/lib -L/sysroot-target/usr/lib > -Wl,-rpath-link -Wl,/somewhere/sysroot-target/usr/lib > -o mount mount-mount.o mount-fstab.o mount-mount_mntent.o > mount-getusername.o mount-lomount.o mount-sundries.o mount-xmalloc.o > mount-realpath.o mount-fsprobe.o mount-fsprobe_blkid.o mount-env.o > mount-linux_version.o mount-blkdev.o mount-setproctitle.o -lblkid > /somewhere/sysroot-target/usr/lib/libblkid.a(probe.o): > In function `set_uuid': > /somewhere/build-target/e2fsprogs-1.40.8/lib/blkid/probe.c:130: > undefined reference to `uuid_is_null' > > So the thing is that, when uuid support is detected, libblkid.a wants to > use it, mount wants to link against it and it is being sucked in. Why do you want to use libblkid.a? It does not make any sense. Static libraries suck. ./configure --enable-partx --disable-makeinstall-chown \ --enable-elvtune --enable-login-utils --enable-kill \ --enable-write --enable-arch --enable-raw --enable-rdev \ --with-selinux --with-audit --with-fsprobe=blkid gcc -std=gnu99 -fsigned-char -fno-common -O2 -g -pipe -Wall \ -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector \ --param=ssp-buffer-size=4 -m64 -mtune=generic -o mount \ mount-mount.o mount-fstab.o mount-mount_mntent.o mount-getusername.o \ mount-lomount.o mount-sundries.o mount-xmalloc.o mount-realpath.o \ mount-fsprobe.o mount-fsprobe_blkid.o mount-env.o \ mount-linux_version.o mount-blkdev.o mount-setproctitle.o \ -lblkid -lselinux -lsepol ldd ./mount linux-vdso.so.1 => (0x00007fffaf1fe000) libblkid.so.1 => /lib64/libblkid.so.1 (0x00000033be200000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00000033baa00000) libsepol.so.1 => /lib64/libsepol.so.1 (0x00000033bba00000) libc.so.6 => /lib64/libc.so.6 (0x00000034c7400000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00000034cbc00000) libdevmapper.so.1.02 => /lib64/libdevmapper.so.1.02 (0x00000033bde00000) libdl.so.2 => /lib64/libdl.so.2 (0x00000034c7c00000) /lib64/ld-linux-x86-64.so.2 (0x00000034c6200000) .. I don't see a problem. If you need a static binary (for any very special reason): ./configure --enable-static-programs .... gcc -std=gnu99 -fsigned-char -fno-common -O2 -g -pipe -Wall \ -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector \ --param=ssp-buffer-size=4 -m64 -mtune=generic -static -o mount.static \ mount.o fstab.o mount_mntent.o getusername.o lomount.o sundries.o \ xmalloc.o realpath.o fsprobe.o fsprobe_blkid.o env.o linux_version.o \ blkdev.o setproctitle.o -L/lib64 -lblkid -luuid -ldevmapper -lselinux \ -lsepol ldd ./mount.static not a dynamic executable > Yup, side effect, see above. I'll invent a better patch ... I'm not sure, what do you want to fix. See ./configure --help and *_LIBS and *_LIBS_STATIC variables if you need to compile for some unusual system. Karel -- Karel Zak <kzak@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html