I try to build GUB on an opensuse Tumbleweed system as this seems to be 
necessary to further investigate the missing-fonts-in-pdfs-if-built-with-gub 
bug.

'make bootstrap' fails early because make 3.81 is broken at least for systems 
that use glibc 2.27. This problem can be fixed with the attached 
0001-Fix-make-for-glibc-2.7.patch

Later 'make bootstrap' fails again because glibc-core-2.3 does not accept gmake 
4.*  A firsts attempt to fix this problem is 
0001-Allow-glibc-core-to-be-compiled-with-gmake-4.x.patch, but after applying 
that patch 'make bootstrap' still fails:

   Checking for gcc ... /usr/bin/gcc
   must rebuild[linux-x86]: system::gcc system::g++ glibc-core cross/gcc glibc
   building package: linux-x86::glibc-core
     *** Stage: download (glibc-core, linux-x86)
     *** Stage: untar (glibc-core, linux-x86)
     *** Stage: patch (glibc-core, linux-x86)
     *** Stage: autoupdate (glibc-core, linux-x86)
     *** Stage: configure (glibc-core, linux-x86)
     *** Stage: compile (glibc-core, linux-x86)
   Command barfed: cd /home/knut/sources/gub/target/linux-x86/build/glibc-core-2.3 
&& make -j16  SHELL=/bin/bash gnulib=-lgcc  lib

   Tail of target/linux-x86/log/glibc-core.log >>>>>>>>
        invoking cd /home/knut/sources/gub/target/linux-x86/build/glibc-core-2.3 
&& make -j16  SHELL=/bin/bash gnulib=-lgcc  lib
        make -r PARALLELMFLAGS="" CVSOPTS="" -C 
/home/knut/sources/gub/target/linux-x86/src/glibc-core-2.3 objdir=`pwd` lib
        make: *** [lib] Segmentation fault (core dumped)
        Command barfed: cd /home/knut/sources/gub/target/linux-x86/build/glibc-core-2.3 
&& make -j16  SHELL=/bin/bash gnulib=-lgcc  lib
   <<<<<<<< Tail of target/linux-x86/log/glibc-core.log

   *** Failed target: linux-x86::glibc-core
   make: *** [compilers.make:44: cross-compilers] Error 1

I could have a closer look at the segfault, but there is one question: Is there 
a special reason not to use the 'make' already built during 'make bootstrap'?

Knut
>From 714fadd637692d7ab4af960e09186505c9eacafe Mon Sep 17 00:00:00 2001
From: Knut Petersen <knut_peter...@t-online.de>
Date: Fri, 6 Jul 2018 07:40:59 +0200
Subject: [PATCH] Fix 'make' for glibc 2.7

Signed-off-by: Knut Petersen <knut_peter...@t-online.de>
---
 gub/specs/make.py         |  1 +
 patches/make_glob2.patch  | 11 +++++++++++
 patches/make_glob22.patch | 11 +++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 patches/make_glob2.patch
 create mode 100644 patches/make_glob22.patch

diff --git a/gub/specs/make.py b/gub/specs/make.py
index df69c5e4..9cc14e5d 100644
--- a/gub/specs/make.py
+++ b/gub/specs/make.py
@@ -4,6 +4,7 @@ from gub import tools
 
 class Make_make__tools (tools.AutoBuild):
     source = 'http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.gz'
+    patches = [ 'make_glob2.patch', 'make_glob22.patch' ]
     def __init__ (self, settings, source):
         tools.AutoBuild.__init__ (self, settings, source)
         self.source._unpack = self.source._unpack_promise_well_behaved
diff --git a/patches/make_glob2.patch b/patches/make_glob2.patch
new file mode 100644
index 00000000..f3c14893
--- /dev/null
+++ b/patches/make_glob2.patch
@@ -0,0 +1,11 @@
+--- old/configure.in	2018-07-06 06:41:35.999578269 +0200
++++ new/configure.in	2018-07-06 06:42:31.044149304 +0200
+@@ -354,7 +354,7 @@
+ #define GLOB_INTERFACE_VERSION 1
+ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+ # include <gnu-versions.h>
+-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
++# if _GNU_GLOB_INTERFACE_VERSION >= GLOB_INTERFACE_VERSION
+    gnu glob
+ # endif
+ #endif
diff --git a/patches/make_glob22.patch b/patches/make_glob22.patch
new file mode 100644
index 00000000..c9ac8618
--- /dev/null
+++ b/patches/make_glob22.patch
@@ -0,0 +1,11 @@
+--- old/glob/glob.c	2018-07-06 06:58:56.414420212 +0200
++++ new/glob/glob.c	2018-07-06 07:01:41.620930378 +0200
+@@ -51,7 +51,7 @@
+ #define GLOB_INTERFACE_VERSION 1
+ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+ # include <gnu-versions.h>
+-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
++# if _GNU_GLOB_INTERFACE_VERSION >= GLOB_INTERFACE_VERSION
+ #  define ELIDE_CODE
+ # endif
+ #endif
-- 
2.18.0

>From 05e4ee32608c18fab23873a5f995bb43b7979997 Mon Sep 17 00:00:00 2001
From: Knut Petersen <knut_peter...@t-online.de>
Date: Fri, 6 Jul 2018 07:50:39 +0200
Subject: [PATCH] Allow glibc-core to be compiled with gmake 4.x

Signed-off-by: Knut Petersen <knut_peter...@t-online.de>
---
 gub/specs/glibc-core.py         |  1 +
 patches/glibc-core-gmake4.patch | 11 +++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 patches/glibc-core-gmake4.patch

diff --git a/gub/specs/glibc-core.py b/gub/specs/glibc-core.py
index 2d491c9b..5de12b2c 100644
--- a/gub/specs/glibc-core.py
+++ b/gub/specs/glibc-core.py
@@ -7,6 +7,7 @@ from gub.specs import glibc
 class Glibc_core (glibc.Glibc):
     source = 'http://lilypond.org/downloads/gub-sources/glibc/glibc-2.3-20070416.tar.bz2'
     patches = glibc.Glibc.patches + [
+        'glibc-core-gmake4.patch',
         'glibc-2.3-core-install.patch',
         'glibc-2.3-core-libgcc.patch',
     ]
diff --git a/patches/glibc-core-gmake4.patch b/patches/glibc-core-gmake4.patch
new file mode 100644
index 00000000..faf76c72
--- /dev/null
+++ b/patches/glibc-core-gmake4.patch
@@ -0,0 +1,11 @@
+--- old/configure	2018-07-06 08:39:31.034993075 +0200
++++ new/configure	2018-07-06 08:40:43.542321483 +0200
+@@ -4154,7 +4154,7 @@
+   ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
+   case $ac_prog_version in
+     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+-    3.79* | 3.[89]*)
++    3.79* | 3.[89]* | 4.[0-9.]*)
+        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ 
-- 
2.18.0

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to