Re: util-linux-ng: mount, umount and swapon need libuuid

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

 



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

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux