grub-devel
[Top][All Lists]
Advanced

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

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


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

On Sat, Mar 12, 2016 at 09:29:15PM +0300, Andrei Borzenkov wrote:
> > 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?
>
> 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 = {

Thank you, your diff makes compilation pass.

Well, I see something went wrong now with compressing a file:

$ tar tzvf /home/jirib/openbsd/packages/amd64/all/grub-2.02-beta3.tgz | grep 
lzma_decompress
-r-xr-xr-x  1 root     bin           3904 Jan  1  1970 
lib/grub/i386-pc/lzma_decompress.image
-r--r--r--  1 root     bin      134480024 Jan  1  1970 
lib/grub/i386-pc/lzma_decompress.img

It should not be 128MB, right? :)

I uploaded whole build log here: http://devio.us/~jirib/grub.txt (2.3MB)

> > -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?

I can live with patching it. OpenBSD find doesn't have 'ipath' and IIUC
it's not POSIX requiremement, so I doubt it will be implemented.

> > 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?

IIUC it was firstly available in "normal" autoconf release in 2.62.

> > 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?

The above comment was just comment. Not sure if there's real issue in
grub code based on those NetBSD/OpenBSD differences.

j.



reply via email to

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