hawkw / homebrew-grub

Homebrew tap for building GRUB
4 stars 3 forks source link

"_xstrdup", referenced from ... symbol(s) not found for architecture x86_64 #3

Open diversys opened 4 years ago

diversys commented 4 years ago

macOS 10.14.6

brew install grub --with-x86_64-pc-elf --HEAD
==> Installing grub from hawkw/grub
==> Cloning git://git.savannah.gnu.org/grub.git
Updating /Users/diver/Library/Caches/Homebrew/grub--git
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
HEAD is now at e7b8856 linux: Fix integer overflows in initrd size handling
==> sh ./bootstrap
==> sh autogen.sh
==> ../configure --disable-werror --target=x86_64-pc-elf --prefix=/usr/local/Cellar/grub/HEAD-e7b8856 TARGET_CC=x86_64-pc-elf-gcc TARGET_OBJCOPY=x86_64-pc-elf-objcopy TARGET_STRIP=x86_64-pc-elf-s
==> make
Last 15 lines from /Users/diver/Library/Logs/Homebrew/grub/04.make:
  "_xstrdup", referenced from:
      _argp_parser in grub_mkrescue-grub-mkrescue.o
      _main in grub_mkrescue-grub-mkrescue.o
      _xorriso_push in grub_mkrescue-grub-mkrescue.o
      _grub_install_mkdir_p in grub_mkrescue-grub-install-common.o
      _grub_install_push_module in grub_mkrescue-grub-install-common.o
      _grub_install_parse in grub_mkrescue-grub-install-common.o
      _grub_install_copy_files in grub_mkrescue-grub-install-common.o
      ...
ld: symbol(s) not found for architecture x86_64
make[2]: *** [grub-fstest] Error 1
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [grub-mkrescue] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I had to apply this patch for current grub HEAD:

diff --git a/Formula/grub.rb b/Formula/grub.rb
index 6a917bb..2335dec 100644
--- a/Formula/grub.rb
+++ b/Formula/grub.rb
@@ -25,6 +25,7 @@ class Grub < Formula
   depends_on "autoconf" => :build
   depends_on "automake" => :build
   depends_on "python" => :build
+  depends_on "gettext" => :build

   # option-specific dependencies #############################################
   depends_on "freetype" if build.with? "gfxterm"
@@ -62,6 +63,7 @@ class Grub < Formula
     args << "--host=#{target}" if build.with? "grub-emu"
     # args << ""

+    system "sh", "./bootstrap"
     system "sh", "autogen.sh"

     mkdir "build" do
diff --git a/Formula/objconv.rb b/Formula/objconv.rb
index f1c8888..8fb6bf7 100644
--- a/Formula/objconv.rb
+++ b/Formula/objconv.rb
@@ -3,7 +3,7 @@ class Objconv < Formula
   homepage "https://www.agner.org/optimize/#objconv"
   url "https://www.agner.org/optimize/objconv.zip"
   version "2.49"
-  sha256 "f2c0c4cd6ff227e76ffed5796953cd9ae9eb228847ca9a14dba6392c573bb7a4"
+  sha256 "1bfd417d73a9beb7ebdcfc986b5607d5966be2f7f376fef86b7be3ed4f3e2164"
   def install
     system "unzip", "source.zip",
                     "-dsrc"
diversys commented 4 years ago

03.configure.log 04.make.log