When installing a new system, compiling a new kernel with genkernel (3.4.10.907-r1) fails because the ramdisk cannot be created. Compilation of the included lvm binary (2.2.28) fails with the error below. Installing lvm (2.02.73-r1, with USE=static) to the install chroot filesystem, and letting genkernel include that binary, allows the ramdisk to be built. I would expect that using the genkernel-included lvm should work, or at least not fail during compilation. Compilation error when running 'genkernel --lvm ramdisk': gcc -o lvm -I/var/tmp/genkernel/19796.17967.16708.9076/device-mapper/include -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 dumpconfig.o formats.o lvchange.o lvconvert.o lvcreate.o lvdisplay.o lvextend.o lvmchange.o lvmcmdline.o lvmdiskscan.o lvreduce.o lvremove.o lvrename.o lvresize.o lvscan.o polldaemon.o pvchange.o pvck.o pvcreate.o pvdisplay.o pvmove.o pvremove.o pvresize.o pvscan.o reporter.o segtypes.o toollib.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgck.o vgcreate.o vgconvert.o vgdisplay.o vgexport.o vgextend.o vgimport.o vgmerge.o vgmknodes.o vgreduce.o vgremove.o vgrename.o vgscan.o vgsplit.o lvm.o \ -L/var/tmp/genkernel/19796.17967.16708.9076/device-mapper/lib -Wl,--export-dynamic -L../lib -L/var/tmp/genkernel/19796.17967.16708.9076/lvm/lib -llvm -ldevmapper -lrt -ldl -rdynamic gcc -o lvm.static -I/var/tmp/genkernel/19796.17967.16708.9076/device-mapper/include -fPIC -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wmissing-noreturn -Wformat-security -O2 dumpconfig.o formats.o lvchange.o lvconvert.o lvcreate.o lvdisplay.o lvextend.o lvmchange.o lvmcmdline.o lvmdiskscan.o lvreduce.o lvremove.o lvrename.o lvresize.o lvscan.o polldaemon.o pvchange.o pvck.o pvcreate.o pvdisplay.o pvmove.o pvremove.o pvresize.o pvscan.o reporter.o segtypes.o toollib.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgck.o vgcreate.o vgconvert.o vgdisplay.o vgexport.o vgextend.o vgimport.o vgmerge.o vgmknodes.o vgreduce.o vgremove.o vgrename.o vgscan.o vgsplit.o lvm-static.o -static \ -L/var/tmp/genkernel/19796.17967.16708.9076/device-mapper/lib -Wl,--export-dynamic -L../lib -L/var/tmp/genkernel/19796.17967.16708.9076/lvm/lib -llvm -ldevmapper -lrt -ldl -rdynamic ../lib/liblvm.a(filter-sysfs.o): In function `_read_devs': filter-sysfs.c:(.text+0x2ec): undefined reference to `S_ISLNK' filter-sysfs.c:(.text+0x2fd): undefined reference to `S_ISDIR' filter-sysfs.c:(.text+0x3c7): undefined reference to `S_ISREG' collect2: ld returned 1 exit status make[1]: *** [lvm] Error 1 make[1]: *** Waiting for unfinished jobs.... ../lib/liblvm.a(sharedlib.o): In function `load_shared_library': sharedlib.c:(.text+0x14f): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking ../lib/liblvm.a(filter-sysfs.o): In function `_read_devs': filter-sysfs.c:(.text+0x2ec): undefined reference to `S_ISLNK' filter-sysfs.c:(.text+0x2fd): undefined reference to `S_ISDIR' filter-sysfs.c:(.text+0x3c7): undefined reference to `S_ISREG' collect2: ld returned 1 exit status make[1]: *** [lvm.static] Error 1 make[1]: Leaving directory `/var/tmp/genkernel/19796.17967.16708.9076/LVM2.2.02.28/tools' make: *** [tools] Error 2
Thanks for reporting. I suppose we need to get a fresher genkernel stable.
Please close this bug, a newer genkernel version has been released ages ago.