Date: Thu, 31 Oct 2013 02:43:19 -0700 (PDT) From: Beeblebrox <zaphod@berentweb.com> To: freebsd-questions@freebsd.org Subject: [grub2 + ZFS] /usr/lib/libzfs.so and grub/trunk mismatch Message-ID: <1383212599591-5856933.post@n5.nabble.com>
next in thread | raw e-mail | index | archive | help
I am trying to compile grub2 from the bazaar repo of gnu/grub (http://bzr.savannah.gnu.org/lh/grub/) The reason I am trying to do this, is because I was advised on the grub-devel mail list that: "Also grub 2.00 is not enough for version 5000. You need current trunk" discussion here: http://lists.gnu.org/archive/html/grub-devel/2013-09/msg00102.html So, trying to compile, after ./autogen and ./configure, I get this: GRUB2 will be compiled with following components: Platform: i386-pc With devmapper support: No (need libdevmapper header) With memory debugging: No With disk cache statistics: No With boot time statistics: No efiemu runtime: No (cannot compile with -m64 -mcmodel=large -mno-red-zone -nostdlib) grub-mkfont: Yes grub-mount: No (need FUSE library) starfield theme: No (No DejaVu found) *With libzfs support: No (need zfs library)* Build-time grub-mkfont: No (no fonts) Without unifont (no build-time grub-mkfont) With liblzma from -llzma (support for XZ-compressed mips images) When I asked about libzfs support, I was advised to look through the configure.log for that section. Here's what that log has to say: configure:26929: checking for libzfs_init in -lzfs configure:26954: gcc -o conftest -I/usr/local/include conftest.c -lzfs -lgeom >&5 /usr/lib/libzfs.so: undefined reference to `uu_avl_pool_create' /usr/lib/libzfs.so: undefined reference to `avl_numnodes' /usr/lib/libzfs.so: undefined reference to `uu_list_destroy' /usr/lib/libzfs.so: undefined reference to `avl_remove' /usr/lib/libzfs.so: undefined reference to `uu_list_pool_create' /usr/lib/libzfs.so: undefined reference to `uu_avl_find' /usr/lib/libzfs.so: undefined reference to `uu_avl_destroy' /usr/lib/libzfs.so: undefined reference to `uu_error' /usr/lib/libzfs.so: undefined reference to `avl_add' /usr/lib/libzfs.so: undefined reference to `avl_first' /usr/lib/libzfs.so: undefined reference to `uu_list_node_init' /usr/lib/libzfs.so: undefined reference to `uu_avl_first' /usr/lib/libzfs.so: undefined reference to `uu_avl_pool_destroy' /usr/lib/libzfs.so: undefined reference to `uu_list_insert_before' /usr/lib/libzfs.so: undefined reference to `uu_list_first' /usr/lib/libzfs.so: undefined reference to `uu_list_next' /usr/lib/libzfs.so: undefined reference to `avl_destroy_nodes' /usr/lib/libzfs.so: undefined reference to `uu_list_teardown' /usr/lib/libzfs.so: undefined reference to `avl_create' /usr/lib/libzfs.so: undefined reference to `uu_list_insert_after' /usr/lib/libzfs.so: undefined reference to `uu_avl_insert' /usr/lib/libzfs.so: undefined reference to `uu_avl_create' /usr/lib/libzfs.so: undefined reference to `uu_list_create' /usr/lib/libzfs.so: undefined reference to `uu_list_pool_destroy' /usr/lib/libzfs.so: undefined reference to `uu_avl_next' /usr/lib/libzfs.so: undefined reference to `avl_destroy' /usr/lib/libzfs.so: undefined reference to `uu_list_find' /usr/lib/libzfs.so: undefined reference to `uu_list_remove' /usr/lib/libzfs.so: undefined reference to `uu_avl_teardown' /usr/lib/libzfs.so: undefined reference to `avl_walk' /usr/lib/libzfs.so: undefined reference to `uu_list_last' /usr/lib/libzfs.so: undefined reference to `avl_find' /usr/lib/libzfs.so: undefined reference to `uu_list_insert' /usr/lib/libzfs.so: undefined reference to `uu_list_prev' configure:26954: $? = 1 I don't know what the significance of the failed output above means. Does it mean grub2 will not work and cannot boot 5/5000 zpool on FreeBSD, or does it mean that certain functions will not be available for grub (which is not a serious problem). separately, there is a textproc/flex issue as well - ./autogen gives: > as_fn_error $? "flex is too old. GRUB requires 2.5.35 or above" On my system (FreeBSD-9.2-stable_amd64): flex --version => flex version 2.5.4, PORTVERSION= 2.5.37 When I asked on the grub-devel mail list, I was informed: >> I had to disable line 6014 in config, because it gives incorrect error re >> flex version > (answer): And what is incorrect here? Flex version 2.5.4 is less than > 2.3.35. I don't understand how 2.5.4 is < 2.3.35, but sure enough, when trying to compile (gmake) I get: $ gmake flex -o grub_script.yy.c --header-file=grub_script.yy.h ./grub-core/script/yylex.l flex: can't open grub_script.yy.c gmake: *** [grub_script.yy.h] Error 1 Regards. ----- FreeBSD-9.2-stable_amd64_root-on-zfs_clang-only-world -- View this message in context: http://freebsd.1045724.n5.nabble.com/grub2-ZFS-usr-lib-libzfs-so-and-grub-trunk-mismatch-tp5856933.html Sent from the freebsd-questions mailing list archive at Nabble.com.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1383212599591-5856933.post>