Created attachment 366652 [details] emerge --info output grub-2.02_beta2 build is failing when libzfs is enabled: [ebuild U ] sys-boot/grub-2.02_beta2:2 [2.00_p5107-r2:2] USE="device-mapper libzfs multislot nls truetype -debug -doc -efiemu -mount -sdl* -static {-test} (-custom-cflags%)" GRUB_PLATFORMS="-coreboot -efi-32 -efi-64 -emu -ieee1275 -multiboot -pc -qemu -qemu-mips -yeeloong" 0 kB x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wcast-align -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now -Wl,--hash-style=gnu -o grub-ofpathname util/ieee1275/grub_ofpathname-grub-ofpathname.o grub-core/osdep/grub_ofpathname-ofpath.o grub-core/osdep/grub_ofpathname-init.o libgrubmods.a libgrubgcry.a libgrubkern.a grub-core/gnulib/libgnu.a -ldevmapper libgrubkern.a(libgrubkern_a-getroot.o): In function `grub_get_libzfs_handle': getroot.c:(.text+0x5d9): undefined reference to `libzfs_init' libgrubkern.a(libgrubkern_a-getroot.o): In function `fini_libzfs': getroot.c:(.text+0x8): undefined reference to `libzfs_fini' libgrubkern.a(libgrubkern_a-getroot.o): In function `grub_util_find_root_devices_from_poolname': getroot.c:(.text+0x80): undefined reference to `zpool_open' getroot.c:(.text+0x8d): undefined reference to `zpool_get_config' getroot.c:(.text+0x9f): undefined reference to `nvlist_lookup_nvlist' getroot.c:(.text+0xc0): undefined reference to `nvlist_lookup_nvlist_array' getroot.c:(.text+0x104): undefined reference to `nvlist_lookup_nvlist_array' getroot.c:(.text+0x168): undefined reference to `nvlist_lookup_string' getroot.c:(.text+0x1b4): undefined reference to `zpool_close' getroot.c:(.text+0x26c): undefined reference to `zpool_close' collect2: error: ld returned 1 exit status emerge --info attached. Installed ZFS (eix -Iv output in attachment)
Created attachment 366654 [details] installed zfs info
Attach a full build log please.
Created attachment 366658 [details] build log file Here it is
Comment on attachment 366658 [details] build log file Wrong attachment
Created attachment 366662 [details] build log file Here it is again
Seems to be triggered by the combination of device-mapper and libzfs.
Created attachment 380370 [details, diff] Patch supplied upstream to fix library dependencies This bug is known upstream under #42392. The patch supplied there (and attached here) works as intended.
Additionally, the ebuild has to be modified to autoreconf the sources properly like in the revision 9999 ebuild.
+ 09 Sep 2014; Mike Gilbert <floppym@gentoo.org> + +files/grub-2.02_beta2-libzfs.patch, grub-2.02_beta2.ebuild: + Backport build fix for when both device-mapper and libzfs are enabled. Bug + 496608.