all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Fix guile-emacs build failure
@ 2016-02-28 19:44 Ricardo Wurmus
  2016-02-28 19:50 ` Efraim Flashner
  0 siblings, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2016-02-28 19:44 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 6382 bytes --]

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/source':
configure: error: C compiler cannot create executables
See `config.log' for more details
~~~~~~~~~~~~~

“config.log” reveals that GCC failed on the following trivial 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 “guix environment --pure guile-emacs”
and ran “gcc --verbose conftest.c”, where “conftest.c” contains the test
programme above.  This is what I get:

~~~~~~~~~~~~~
rekado@banana in source [env]: gcc --verbose conftest.c 
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/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: 
Thread model: posix
gcc version 4.9.3 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
 /gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/cc1 -quiet -v conftest.c -quiet -dumpbase conftest.c -mtune=generic -march=x86-64 -auxbase conftest -version -o /tmp/ccp7oiXi.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, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
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-unknown-linux-gnu/4.9.3/include
 /gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-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, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b87adce59d40c64e9bafeee32b3f9c51
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-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=/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/gnu/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/:/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib/gcc/x86_64-unknown-linux-gnu/4.9.3/../../../:/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
 /gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/collect2 -plugin /gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin.so -plugin-opt=/gnu/store/pg8nnqprjxgwhwiyh8nhbphzj53ax77i-gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper -plugin-opt=-fresolution=/tmp/ccpvCgWk.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-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/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/crt1.o /gnu/store/b2r0dq25720qilqr4m4a436gxy8ppml3-profile/lib/crti.o /gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-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/pkasxagsa4z4viscfpl6sjszmdmwncl1-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/gcc/x86_64-unknown-linux-gnu/4.9.3/../../.. -L/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib /tmp/ccNJYsWO.o -lgcc --as-needed -lgcc_s --no-as-needed -L/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib -rpath=/gnu/store/sgzfawy95pfn7nsw3xvmca58llm5zzbc-glibc-2.22/lib -rpath=/gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-gcc-4.9.3-lib/lib -lgcc_s -lc -lgcc --as-needed -lgcc_s --no-as-needed /gnu/store/pkasxagsa4z4viscfpl6sjszmdmwncl1-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.
~~~~~~~~~~~~~

“Throw without catch before boot” actually sounds like a Guile error, so
I looked at whether there have been any changes to
“guile-for-guile-emacs” (or “guile-next” from which it inherits)
recently, and yes: commit dd90ed892a7dbe13a214b2d7ebf321b866211374
changed the search paths for “guile-next”, which broke
“guile-for-guile-emacs”.

The attached patch adds a “native-search-paths” field to
“guile-for-guile-emacs” to override the one specified by “guile-next”.

~~ Ricardo


[-- Attachment #2: 0001-gnu-guile-for-guile-emacs-Use-guile-2.0-search-paths.patch --]
[-- Type: text/x-patch, Size: 1544 bytes --]

From a1e9bb30d410f83b69ccb980c0052913ccfb3dd8 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
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 <mhw@netris.org>
 ;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; 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")))))))
 
 \f
 ;;;
-- 
2.6.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-02-28 19:44 [PATCH] Fix guile-emacs build failure Ricardo Wurmus
@ 2016-02-28 19:50 ` Efraim Flashner
  2016-02-28 19:58   ` Ricardo Wurmus
  0 siblings, 1 reply; 7+ messages in thread
From: Efraim Flashner @ 2016-02-28 19:50 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1088 bytes --]

On Sun, 28 Feb 2016 20:44:33 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

> @@ -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")))))))
>  

What happens if you're building it with guile-next? Doesn't the search-path
need to be 2.2 or something similar?

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-02-28 19:50 ` Efraim Flashner
@ 2016-02-28 19:58   ` Ricardo Wurmus
  2016-03-12 17:47     ` Danny Milosavljevic
  0 siblings, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2016-02-28 19:58 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel


Efraim Flashner <efraim@flashner.co.il> writes:

> On Sun, 28 Feb 2016 20:44:33 +0100
> Ricardo Wurmus <rekado@elephly.net> wrote:
>
>> @@ -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")))))))
>>  
>
> What happens if you're building it with guile-next? Doesn't the search-path
> need to be 2.2 or something similar?

Guile Emacs currently needs to be built with “guile-for-guile-emacs”,
which contains custom patches AFAIU.

Currently the “native-search-path” field is inherited from “guile-next”
and thus contains “2.2” in the paths.  This is the reason why Guile
Emacs currently cannot be built.

~~ Ricardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-02-28 19:58   ` Ricardo Wurmus
@ 2016-03-12 17:47     ` Danny Milosavljevic
  2016-03-12 21:17       ` Christopher Allan Webber
  0 siblings, 1 reply; 7+ messages in thread
From: Danny Milosavljevic @ 2016-03-12 17:47 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

I tried this again (with the patch) and it builds now:

$ guix package -i guile-emacs

The following package will be installed:
   guile-emacs	20150512.41120e0	/gnu/store/3vdzl2kav2m1nqv6raw0mgh0ak2v9qra-guile-emacs-20150512.41120e0

But it doesn't run:

$ emacs
Uncaught exception:
Throw to key system-error with args ("load-thunk-from-memory" "~A" ("No such file or directory") (2))Threads explicit registering is not previously enabled
Aborted

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-03-12 17:47     ` Danny Milosavljevic
@ 2016-03-12 21:17       ` Christopher Allan Webber
  2016-03-12 21:42         ` Danny Milosavljevic
  2016-03-13 22:05         ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Christopher Allan Webber @ 2016-03-12 21:17 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic writes:

> I tried this again (with the patch) and it builds now:
>
> $ guix package -i guile-emacs
>
> The following package will be installed:
>    guile-emacs	20150512.41120e0	/gnu/store/3vdzl2kav2m1nqv6raw0mgh0ak2v9qra-guile-emacs-20150512.41120e0
>
> But it doesn't run:
>
> $ emacs
> Uncaught exception:
> Throw to key system-error with args ("load-thunk-from-memory" "~A" ("No such file or directory") (2))Threads explicit registering is not previously enabled
> Aborted

If you have another guile in your path, path things might cause
problems.

Maybe try running it in:

  $ guix environment --ad-hoc guile-emacs --pure
  $ emacs -q

Does it work then?

 - Chris

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-03-12 21:17       ` Christopher Allan Webber
@ 2016-03-12 21:42         ` Danny Milosavljevic
  2016-03-13 22:05         ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Danny Milosavljevic @ 2016-03-12 21:42 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: guix-devel

> If you have another guile in your path, path things might cause
> problems.
> 
> Maybe try running it in:
> 
>   $ guix environment --ad-hoc guile-emacs --pure
>   $ emacs -q
> 
> Does it work then?

Yes.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Fix guile-emacs build failure
  2016-03-12 21:17       ` Christopher Allan Webber
  2016-03-12 21:42         ` Danny Milosavljevic
@ 2016-03-13 22:05         ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-03-13 22:05 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: guix-devel

Christopher Allan Webber <cwebber@dustycloud.org> skribis:

> Maybe try running it in:
>
>   $ guix environment --ad-hoc guile-emacs --pure
>   $ emacs -q

Or, in one line:

  guix environment --ad-hoc guile-emacs --pure -- emacs -q

:-)

Ludo'.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-03-13 22:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-28 19:44 [PATCH] Fix guile-emacs build failure Ricardo Wurmus
2016-02-28 19:50 ` Efraim Flashner
2016-02-28 19:58   ` Ricardo Wurmus
2016-03-12 17:47     ` Danny Milosavljevic
2016-03-12 21:17       ` Christopher Allan Webber
2016-03-12 21:42         ` Danny Milosavljevic
2016-03-13 22:05         ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.