[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[openbsd] 2.02-beta3: build fails - getroot.c:(.text+0x2b): undefined re

From: Jiri B
Subject: [openbsd] 2.02-beta3: build fails - getroot.c:(.text+0x2b): undefined reference to `getrawpartition'
Date: Sat, 12 Mar 2016 11:57:42 -0500
User-agent: Mutt/1.5.23 (2014-03-12)


I'm trying to build grub-2.02-beta3 on OpenBSD 5.9 amd64 and build

cc -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  -O2 -pipe     -o grub-macbless 
util/grub_macbless-grub-macbless.o grub-core/osdep/grub_macbless-init.o 
grub-core/kern/emu/grub_macbless-argp_common.o  libgrubmods.a libgrubgcry.a 
libgrubkern.a grub-core/gnulib/libgnu.a /usr/local/lib/libintl.so.6.0 
-L/usr/local/lib /usr/local/lib/libiconv.so.6.0 -lc -Wl,-rpath,/usr/local/lib   
libgrubkern.a(libgrubkern_a-hostdisk.o): In function `read_device_map':
hostdisk.c:(.text+0x7ab): warning: warning: strcpy() is almost always misused, 
please use strlcpy()
libgrubkern.a(libgrubkern_a-misc.o): In function `grub_util_get_path':
misc.c:(.text+0x12a): warning: warning: sprintf() is often misused, please use 
libgrubkern.a(libgrubkern_a-getroot.o): In function `grub_util_part_to_disk':
getroot.c:(.text+0x2b): undefined reference to `getrawpartition'

Plus, autogen.sh uses GNU options of find command, till now
I solved that this way:

--- autogen.sh.orig     Sat Mar 12 17:02:35 2016
+++ autogen.sh  Sat Mar 12 17:03:05 2016
@ -8,7 +8,7 @@ set -e
 export LC_COLLATE=C
 unset LC_ALL
-find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath 
'./build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath 
'./grub-core/lib/libgcrypt/src/global.c' ! -ipath 
'./grub-core/lib/libgcrypt/src/secmem.c'  ! -ipath 
'./util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > 
+find . -iname '*.[ch]' ! -path './grub-core/lib/libgcrypt-grub/*' ! -path 
'./build-aux/*' ! -path './grub-core/lib/libgcrypt/src/misc.c' ! -path 
'./grub-core/lib/libgcrypt/src/global.c' ! -path 
'./grub-core/lib/libgcrypt/src/secmem.c'  ! -path './util/grub-gen-widthspec.c' 
! -path './util/grub-gen-asciih.c' |sort > po/POTFILES.in
 find util -iname '*.in' ! -name Makefile.in  |sort > po/POTFILES-shell.in
 echo "Importing unicode..."

Another thing - 'INSTALL' file says >= autoconf 2.60 is needed but
it is >= 2.62 otherwise there is:

  "error: possibly undefined macro: AS_ECHO"

IIRC there's also a difference between NetBSD and OpenBSD regarding
to disks. NetBSD uses eg. /dev/rwd0c for NetBSD part, /dev/rwd0d for
whole disk, OpenBSD uses 'c' for whole disk and 'd' has no special

Howto reproduce:
1. OpenBSD 5.9 amd64 (snapshot; I have one cca month old)
2. get grub-2.02-beta3
3. autoconf-2.62, automake-1.10, python-2.7, gcc-4.9
4. (replace 'ipath' with 'path' in autogen.sh, see above)
5. put PYTHON in env pointing to python2.7
6. build

Thanks for help.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]