Samuli Suominen wrote:
> On 26/06/13 07:58, Dale wrote:
>> I can't seem to get lvm2 to compile.  I get this error:
>>
>> FILE=`echo lvchange.d | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
>> DEPS=`echo ../make.tmpl ../VERSION ../Makefile
>> ../include/.symlinks_created | sed -e 's/\\//\\\\\\//g'`; \
>> x86_64-pc-linux-gnu-gcc -MM -I. -I../include
>> -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -o
>> lvchange.d lvchange.c; \
>> sed -i "s/\(.*\)\.o[ :]*/$FILE.o $FILE.d $FILE.pot: $DEPS /g"
>> lvchange.d; \
>> [ -s lvchange.d ] || rm -f lvchange.d
>> /bin/mkdir -p ./; \
>> set -e; \
>> FILE=`echo formats.d | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
>> DEPS=`echo ../make.tmpl ../VERSION ../Makefile
>> ../include/.symlinks_created | sed -e 's/\\//\\\\\\//g'`; \
>> x86_64-pc-linux-gnu-gcc -MM -I. -I../include
>> -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -o
>> formats.d formats.c; \
>> sed -i "s/\(.*\)\.o[ :]*/$FILE.o $FILE.d $FILE.pot: $DEPS /g"
>> formats.d; \
>> [ -s formats.d ] || rm -f formats.d
>> /bin/mkdir -p ./; \
>> set -e; \
>> FILE=`echo dumpconfig.d | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
>> DEPS=`echo ../make.tmpl ../VERSION ../Makefile
>> ../include/.symlinks_created | sed -e 's/\\//\\\\\\//g'`; \
>> x86_64-pc-linux-gnu-gcc -MM -I. -I../include
>> -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -o
>> dumpconfig.d dumpconfig.c; \
>> sed -i "s/\(.*\)\.o[ :]*/$FILE.o $FILE.d $FILE.pot: $DEPS /g"
>> dumpconfig.d; \
>> [ -s dumpconfig.d ] || rm -f dumpconfig.d
>> make[1]: Leaving directory
>> `/var/tmp/portage/sys-fs/lvm2-2.02.98/work/LVM2.2.02.98/tools'
>> make[1]: Entering directory
>> `/var/tmp/portage/sys-fs/lvm2-2.02.98/work/LVM2.2.02.98/tools'
>> x86_64-pc-linux-gnu-gcc -c -I. -I../include
>> -DLVM_SHARED_PATH=\"/usr/sbin/lvm\" -DHAVE_CONFIG_H -DDM_IOCTLS -Wall
>> -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes
>> -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn
>> -Wformat-security -Wredundant-decls -Wpointer-arith -march=native -O2
>> -pipe -march=native -O2 -pipe -fPIC  -O2 -march=native -O2 -pipe -fPIC
>> -O2 dmsetup.c -o dmsetup.o
>> x86_64-pc-linux-gnu-gcc -shared -Wl,-soname,libdevmapper-event.so.1.02 \
>>          -march=native -O2 -pipe -march=native -O2 -pipe -fPIC  -O2
>> -march=native -O2 -pipe -fPIC  -O2 -march=native -O2 -pipe -fPIC  -O2
>> -Wl,-O1 -Wl,--as-needed -Wl,--version-script,.export.sym -L../../libdm
>> -L../../lib -L../../libdaemon/client -L../../daemons/dmeventd
>> libdevmapper-event.o  -ldevmapper -o libdevmapper-event.so.1.02
>> rm -f libdevmapper-event.a
>> x86_64-pc-linux-gnu-ar rs libdevmapper-event.a libdevmapper-event.o
>> x86_64-pc-linux-gnu-ar: creating libdevmapper-event.a
>> ln -s -f libdevmapper-event.so.1.02 libdevmapper-event.so
>> x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -march=native -O2 -pipe
>> -fPIC  -O2 -march=native -O2 -pipe -fPIC  -O2 -march=native -O2 -pipe
>> -fPIC  -O2 -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -O2 -L./libdm
>> -L./lib -L./libdaemon/client -L./daemons/dmeventd -Wl,-O1
>> -Wl,--as-needed -O2 -L../libdm -L../lib -L../libdaemon/client
>> -L../daemons/dmeventd -Wl,-O1 -Wl,--as-needed -O2 -L../../libdm
>> -L../../lib -L../../libdaemon/client -L../../daemons/dmeventd
>> -Wl,--export-dynamic -L. -o dmeventd dmeventd.o \
>> -ldl -ldevmapper-event -lpthread  -ldevmapper -rdynamic
>> x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -march=native -O2 -pipe
>> -fPIC  -O2 -march=native -O2 -pipe -fPIC  -O2 -march=native -O2 -pipe
>> -fPIC  -O2 -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -O2 -L./libdm
>> -L./lib -L./libdaemon/client -L./daemons/dmeventd -Wl,-O1
>> -Wl,--as-needed -O2 -L../libdm -L../lib -L../libdaemon/client
>> -L../daemons/dmeventd -Wl,-O1 -Wl,--as-needed -O2 -L../../libdm
>> -L../../lib -L../../libdaemon/client -L../../daemons/dmeventd
>> -Wl,--export-dynamic -Wl,--no-export-dynamic -static -L.
>> -L../../libdm/ioctl -o dmeventd.static \
>> dmeventd.o -ldl -ldevmapper-event -lpthread  -ldevmapper  -ludev
>> dmeventd.o: In function `_register_for_event':
>> dmeventd.c:(.text+0xfb1): warning: Using 'dlopen' in statically linked
>> applications requires at runtime the shared libraries from the glibc
>> version used for linking
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(libudev-util.o):
>>
>> In function `util_lookup_group':
>> (.text+0x4d6): warning: Using 'getgrnam_r' in statically linked
>> applications requires at runtime the shared libraries from the glibc
>> version used for linking
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(libudev-util.o):
>>
>> In function `util_lookup_user':
>> (.text+0x3a3): warning: Using 'getpwnam_r' in statically linked
>> applications requires at runtime the shared libraries from the glibc
>> version used for linking
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(util.o):
>>
>> In function `now':
>> (.text+0x148): undefined reference to `clock_gettime'
>> collect2: ld returned 1 exit status
>> make[2]: *** [dmeventd.static] Error 1
>> make[2]: Leaving directory
>> `/var/tmp/portage/sys-fs/lvm2-2.02.98/work/LVM2.2.02.98/daemons/dmeventd'
>>
>> make[1]: *** [dmeventd.device-mapper] Error 2
>> make[1]: Leaving directory
>> `/var/tmp/portage/sys-fs/lvm2-2.02.98/work/LVM2.2.02.98/daemons'
>> make: *** [daemons.device-mapper] Error 2
>> make: *** Waiting for unfinished jobs....
>> x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -march=native -O2 -pipe
>> -fPIC  -O2 -march=native -O2 -pipe -fPIC  -O2 -Wl,-O1 -Wl,--as-needed
>> -Wl,-O1 -Wl,--as-needed -O2 -L./libdm -L./lib -L./libdaemon/client
>> -L./daemons/dmeventd -Wl,-O1 -Wl,--as-needed -O2 -L../libdm -L../lib
>> -L../libdaemon/client -L../daemons/dmeventd -L../libdm \
>>        -o dmsetup dmsetup.o -ldevmapper  -ludev
>> x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -march=native -O2 -pipe
>> -fPIC  -O2 -march=native -O2 -pipe -fPIC  -O2 -Wl,-O1 -Wl,--as-needed
>> -Wl,-O1 -Wl,--as-needed -O2 -L./libdm -L./lib -L./libdaemon/client
>> -L./daemons/dmeventd -Wl,-O1 -Wl,--as-needed -O2 -L../libdm -L../lib
>> -L../libdaemon/client -L../daemons/dmeventd -Wl,--no-export-dynamic
>> -static -L../libdm/ioctl \
>>        -o dmsetup.static dmsetup.o -ldevmapper  -ludev   -ludev
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(libudev-util.o):
>>
>> In function `util_lookup_group':
>> (.text+0x4d6): warning: Using 'getgrnam_r' in statically linked
>> applications requires at runtime the shared libraries from the glibc
>> version used for linking
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(libudev-util.o):
>>
>> In function `util_lookup_user':
>> (.text+0x3a3): warning: Using 'getpwnam_r' in statically linked
>> applications requires at runtime the shared libraries from the glibc
>> version used for linking
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libudev.a(util.o):
>>
>> In function `now':
>> (.text+0x148): undefined reference to `clock_gettime'
>> collect2: ld returned 1 exit status
>> make[1]: *** [dmsetup.static] Error 1
>> make[1]: Leaving directory
>> `/var/tmp/portage/sys-fs/lvm2-2.02.98/work/LVM2.2.02.98/tools'
>> make: *** [tools.device-mapper] Error 2
>>   * ERROR: sys-fs/lvm2-2.02.98 failed (compile phase):
>>   *   emake failed
>>
>>
>> The short error is this:
>>
>> (.text+0x148): undefined reference to `clock_gettime'
>>
>> I googled and it seems udev is supposed to deal with this.  I'm using
>> eudev.  I have tried a masked version of lvm2 to see if it has a fix but
>> same error.  I'm on the latest eudev except for the *9999 version.  This
>> is current version of eudev:
>>
>> [IP-] [  ] sys-fs/eudev-1.0:0
>>
>> Current installed gcc:
>>
>> [IP-] [  ] sys-devel/gcc-4.4.7:4.4.7
>> [IP-] [  ] sys-devel/gcc-4.5.4:4.5.4
>> [IP-] [  ] sys-devel/gcc-4.6.3:4.6.3
>>
>> I'm set to use 4.6.3 gcc according to gcc-config.  This is part of a
>> emerge -e world hoping to fix the seamonkey/firefox issue, hoping.
>> Everything else compiled except googleearth and ppp.  I'm not using
>> those at the moment so I'm not worried about those.  Maybe later.
>>
>> Thoughts?  Ideas?
>
> With sys-fs/udev-204 installed I get:
>
> $ pkg-config --libs --static libudev
> -ludev -lrt
> $ grep lrt /usr/lib64/pkgconfig/libudev.pc
> Libs.private: -lrt
>
> In which the -lrt is the important bit. It's required for clock_gettime.
>
> So either eudev is broken and doesn't contain proper Libs.private: in
> libudev.pc file, or sys-fs/lvm2's build system is broken and doesn't
> query proper Libs.private: from libudev.pc when building lvm2 with
> static.
>
> For the record. There is no reason to use sys-fs/eudev at this time,
> it doesn't bring anything to the table sys-fs/udev doesn't have. In
> fact, sys-fs/eudev has broken USE="+rule-generator" which leads to
> random interface names.
>
> - Samuli
>
>

I switched when all the separate /usr uproar happened.  I no longer have
a init thingy either.  I cleaned all that out after a few successful
reboots with eudev without using a init thingy.  So, if I switch back to
udev, are you sure that my system is going to reboot?  I have everything
but / and /boot on LVM.  Point being, I don't want to switch back,
reboot and have a non-bootable system.  I switched to grub2 and would
really not want to learn the hard way how to edit stuff, chrrot to fix
anything with it, although I need to test on that one day. 

At least my guess was right on it being a *dev problem.  What I saw from
google pointed in that direction. 

Thanks.

Dale

:-)  :-) 

-- 
I am only responsible for what I said ... Not for what you understood or how 
you interpreted my words!


Reply via email to