From owner-freebsd-questions@FreeBSD.ORG Thu Oct 31 09:43:20 2013 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id C30B92D3 for ; Thu, 31 Oct 2013 09:43:20 +0000 (UTC) (envelope-from zaphod@berentweb.com) Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A49232DC1 for ; Thu, 31 Oct 2013 09:43:20 +0000 (UTC) Received: from [192.168.236.26] (helo=sam.nabble.com) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1Vbomd-0006DY-JH for freebsd-questions@freebsd.org; Thu, 31 Oct 2013 02:43:19 -0700 Date: Thu, 31 Oct 2013 02:43:19 -0700 (PDT) From: Beeblebrox To: freebsd-questions@freebsd.org Message-ID: <1383212599591-5856933.post@n5.nabble.com> Subject: [grub2 + ZFS] /usr/lib/libzfs.so and grub/trunk mismatch MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Oct 2013 09:43:20 -0000 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.