12.03.2016 19:57, Jiri B пишет: > Hi, > > I'm trying to build grub-2.02-beta3 on OpenBSD 5.9 amd64 and build > fails: > > 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 snprintf() > libgrubkern.a(libgrubkern_a-getroot.o): In function `grub_util_part_to_disk': > getroot.c:(.text+0x2b): undefined reference to `getrawpartition' >
Does attached patch help? > 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 > > po/POTFILES.in > +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 > Hmm ... we support building on Windows which is case insensitive. What are other options to compare full path name case insenstive? > 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" > Indeed. According to git log, AS_ECHO appeared first in 2.61a. What version you have? > 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 > reason. > If I understand it correctly, getrawpartition() is supposed to handle it (i.e. return entire disk partition number). What exactly does not work? > 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. > > j. > > _______________________________________________ > Bug-grub mailing list > bug-g...@gnu.org > https://lists.gnu.org/mailman/listinfo/bug-grub >
From: Andrei Borzenkov <arvidj...@gmail.com> Subject: [PATCH] Makefile.util.def: add $LIBINTL to grub-macbless flags Fixes compilation on Open BSD. Reported by Jiri B <ji...@devio.us> --- Makefile.util.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.util.def b/Makefile.util.def index ed9b4c6..f9caccb 100644 --- a/Makefile.util.def +++ b/Makefile.util.def @@ -416,7 +416,7 @@ program = { ldadd = libgrubgcry.a; ldadd = libgrubkern.a; ldadd = grub-core/gnulib/libgnu.a; - ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)'; + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)'; }; data = { -- tg: (3c3e96d..) u/bsd-libutil (depends on: master)
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel