From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH] Fix guile-emacs build failure Date: Sun, 28 Feb 2016 20:44:33 +0100 Message-ID: <874mcsd3ha.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45144) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aa7Gm-00054P-MU for guix-devel@gnu.org; Sun, 28 Feb 2016 14:44:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aa7Gi-0005U3-LO for guix-devel@gnu.org; Sun, 28 Feb 2016 14:44:44 -0500 Received: from sender163-mail.zoho.com ([74.201.84.163]:25194) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aa7Gi-0005TT-D9 for guix-devel@gnu.org; Sun, 28 Feb 2016 14:44:40 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Guix, Guile Emacs can no longer be built. GCC fails a configure test: ~~~~~~~~~~~~~ checking for gcc... gcc checking whether the C compiler works... no configure: error: in `/tmp/guix-build-guile-emacs-20150512.41120e0.drv-0/so= urce': configure: error: C compiler cannot create executables See `config.log' for more details ~~~~~~~~~~~~~ =E2=80=9Cconfig.log=E2=80=9D reveals that GCC failed on the following trivi= al file: ~~~~~~~~~~~~~ /* confdefs.h */ #define PACKAGE_NAME "GNU Emacs" #define PACKAGE_TARNAME "emacs" #define PACKAGE_VERSION "24.4.50" #define PACKAGE_STRING "GNU Emacs 24.4.50" #define PACKAGE_BUGREPORT "bug-gnu-emacs@gnu.org" #define PACKAGE_URL "http://www.gnu.org/software/emacs/" #define PACKAGE "emacs" #define VERSION "24.4.50" #define MAIL_USE_POP 1 /* end confdefs.h. */ int main () { ; return 0; } ~~~~~~~~~~~~~ So I opened an environment with =E2=80=9Cguix environment --pure guile-emac= s=E2=80=9D and ran =E2=80=9Cgcc --verbose conftest.c=E2=80=9D, where =E2=80=9Cconftest= .c=E2=80=9D contains the test programme above. This is what I get: ~~~~~~~~~~~~~ rekado@banana in source [env]: gcc --verbose conftest.c=20 Using built-in specs. COLLECT_GCC=3Dgcc COLLECT_LTO_WRAPPER=3D/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3= /libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with:=20 Thread model: posix gcc version 4.9.3 (GCC)=20 COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' /gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-u= nknown-linux-gnu/4.9.3/cc1 -quiet -v conftest.c -quiet -dumpbase conftest.c= -mtune=3Dgeneric -march=3Dx86-64 -auxbase conftest -version -o /tmp/ccp7oi= Xi.s GNU C (GCC) version 4.9.3 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.9.3, GMP version 6.0.0, MPFR version 3.1.3, MP= C version 1.0.3 GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 ignoring nonexistent directory "/no-gcc-local-prefix/include" ignoring nonexistent directory "/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1= -gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../../../../../../= x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /gnu/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/include /gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-u= nknown-linux-gnu/4.9.3/include /gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-u= nknown-linux-gnu/4.9.3/include-fixed /gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/include End of search list. GNU C (GCC) version 4.9.3 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.9.3, GMP version 6.0.0, MPFR version 3.1.3, MP= C version 1.0.3 GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 Compiler executable checksum: b87adce59d40c64e9bafeee32b3f9c51 COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' as -v --64 -o /tmp/ccNJYsWO.o /tmp/ccp7oiXi.s GNU assembler version 2.25.1 (x86_64-unknown-linux-gnu) using BFD version (= GNU Binutils) 2.25.1 COMPILER_PATH=3D/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libex= ec/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj= 53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pg= 8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-g= nu/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_6= 4-unknown-linux-gnu/4.9.3/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-= 4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/ LIBRARY_PATH=3D/gnu/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/:/gn= u/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unkno= wn-linux-gnu/4.9.3/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-l= ib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../../:/gnu/store/sgzfawy95pfn= 7nsw3xvmca58llm5zzbc-glibc-2.22/lib COLLECT_GCC_OPTIONS=3D'-v' '-mtune=3Dgeneric' '-march=3Dx86-64' /gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-u= nknown-linux-gnu/4.9.3/collect2 -plugin /gnu/store/pg8nnqprjxgwhwiyh8nhbphz= j53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin= .so -plugin-opt=3D/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/lib= exec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper -plugin-opt=3D-fresolut= ion=3D/tmp/ccpvCgWk.res -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-= pass-through=3D-lgcc_s -plugin-opt=3D-pass-through=3D-lgcc_s -plugin-opt=3D= -pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass= -through=3D-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /gnu/store/= sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib/ld-linux-x86-64.so.2 /gnu/s= tore/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/crt1.o /gnu/store/b2r0dq2= 5720qilqr4m4a436gxy8ppml3-profile/lib/crti.o /gnu/store/pkasxagsa4z4viscfpl= 6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/crtbegin= .o -L/gnu/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib -L/gnu/store/p= kasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-= gnu/4.9.3 -L/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/g= cc/x86_64-unknown-linux-gnu/4.9.3/../../.. -L/gnu/store/sgzfawy95pfn7nsw3xv= mca58llm5zzbc-glibc-2.22/lib /tmp/ccNJYsWO.o -lgcc --as-needed -lgcc_s --no= -as-needed -L/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib -rp= ath=3D/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib -rpath=3D/= gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib -lgcc_s -lc -l= gcc --as-needed -lgcc_s --no-as-needed /gnu/store/pkasxagsa4z4viscfpl6sjszm= dmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/crtend.o /gnu/= store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/crtn.o collect2: error: ld terminated with signal 6 [Aborted] Throw without catch before boot: Aborting. ~~~~~~~~~~~~~ =E2=80=9CThrow without catch before boot=E2=80=9D actually sounds like a Gu= ile error, so I looked at whether there have been any changes to =E2=80=9Cguile-for-guile-emacs=E2=80=9D (or =E2=80=9Cguile-next=E2=80=9D fr= om which it inherits) recently, and yes: commit dd90ed892a7dbe13a214b2d7ebf321b866211374 changed the search paths for =E2=80=9Cguile-next=E2=80=9D, which broke =E2=80=9Cguile-for-guile-emacs=E2=80=9D. The attached patch adds a =E2=80=9Cnative-search-paths=E2=80=9D field to =E2=80=9Cguile-for-guile-emacs=E2=80=9D to override the one specified by = =E2=80=9Cguile-next=E2=80=9D. ~~ Ricardo --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-guile-for-guile-emacs-Use-guile-2.0-search-paths.patch Content-Transfer-Encoding: 8bit >From a1e9bb30d410f83b69ccb980c0052913ccfb3dd8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 28 Feb 2016 20:42:13 +0100 Subject: [PATCH] gnu: guile-for-guile-emacs: Use guile-2.0 search paths. * gnu/packages/guile.scm (guile-for-guile-emacs)[native-search-paths]: Use the same search paths as guile-2.0. --- gnu/packages/guile.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5349fda..882a62d 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen +;;; Copyright © 2016 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -255,7 +256,16 @@ without requiring the source code to be rewritten.") ("flex" ,flex) ("texinfo" ,texinfo) ("gettext" ,gnu-gettext) - ,@(package-native-inputs guile-next))))) + ,@(package-native-inputs guile-next))) + ;; Same as in guile-2.0 + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (files '("share/guile/site/2.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (files '("lib/guile/2.0/ccache" + "share/guile/site/2.0"))))))) ;;; -- 2.6.3 --=-=-=--