* mips64el: guild problem
@ 2013-02-18 18:32 Andreas Enge
2013-02-18 22:28 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Enge @ 2013-02-18 18:32 UTC (permalink / raw)
To: bug-guix
[-- Attachment #1: Type: text/plain, Size: 2449 bytes --]
On the fuloong mips machine, in the mips64el branch, "make" results in the
following:
/bin/mkdir -p `dirname "guix/derivations.go"`
LC_ALL=C \
./pre-inst-env \
/usr/bin/guild compile -L "." -L "." \
-Wformat -Wunbound-variable -Warity-mismatch \
--target="mips64el-unknown-linux-gnu"
\
-o "guix/derivations.go" "guix/derivations.scm"
Backtrace:
In ice-9/boot-9.scm:
2580: 19 [resolve-interface (guix store) #:select ...]
2505: 18 [#<procedure cd3850 at ice-9/boot-9.scm:2493:4 (name #:optional
autoload version #:key ensure)> # ...]
2772: 17 [try-module-autoload (guix store) #f]
2111: 16 [save-module-excursion #<procedure 10990a8 at
ice-9/boot-9.scm:2773:17 ()>]
2783: 15 [#<procedure 10990a8 at ice-9/boot-9.scm:2773:17 ()>]
In unknown file:
?: 14 [primitive-load-path "guix/store" #f]
In ice-9/eval.scm:
480: 13 [#<procedure c7c6f0 at ice-9/eval.scm:474:4 (exp)> (define-module
# # ...)]
In ice-9/psyntax.scm:
1101: 12 [expand-top-sequence ((define-module (guix store) #:use-module
...)) () ...]
986: 11 [scan ((define-module (guix store) #:use-module ...)) () ...]
270: 10 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
392: 9 [eval # ()]
In ice-9/boot-9.scm:
2667: 8 [define-module* (guix store) #:filename ...]
2642: 7 [resolve-imports (((guix utils)) ((guix config)) ((rnrs
bytevectors)) ...)]
2580: 6 [resolve-interface (guix utils) #:select ...]
2505: 5 [#<procedure cd3850 at ice-9/boot-9.scm:2493:4 (name #:optional
autoload version #:key ensure)> # ...]
2772: 4 [try-module-autoload (guix utils) #f]
2111: 3 [save-module-excursion #<procedure 10df060 at
ice-9/boot-9.scm:2773:17 ()>]
2783: 2 [#<procedure 10df060 at ice-9/boot-9.scm:2773:17 ()>]
In unknown file:
?: 1 [primitive-load-path "guix/utils" #f]
In ice-9/boot-9.scm:
106: 0 [#<procedure c86440 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
misc-error ...]
ice-9/boot-9.scm:106:20: In procedure #<procedure c86440 at
ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: In procedure make_objcode_from_file: bad header on
object file: "GOOF----LE-8-2.0"
make[2]: *** [guix/derivations.go] Error 1
make[2]: Leaving directory `/home/enge/guix-src'
Which information would you need to understand the problem?
Andreas
[-- Attachment #2: Type: text/html, Size: 9758 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mips64el: guild problem
2013-02-18 18:32 mips64el: guild problem Andreas Enge
@ 2013-02-18 22:28 ` Ludovic Courtès
2013-02-19 12:47 ` Andreas Enge
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2013-02-18 22:28 UTC (permalink / raw)
To: Andreas Enge; +Cc: bug-guix
Andreas Enge <andreas@enge.fr> skribis:
> ice-9/boot-9.scm:106:20: In procedure make_objcode_from_file: bad header on
> object file: "GOOF----LE-8-2.0"
This “GOOF” cookie indicates the Guile Object Object(!) Format. Here,
it says little endian with 8-byte pointers. That corresponds to this
GNU triplet:
--8<---------------cut here---------------start------------->8---
scheme@(system base target)> (with-target "mips64el-unknown-linux-gnu" (lambda () (list (target-endianness) (target-word-size))))
$2 = (little 8)
--8<---------------cut here---------------end--------------->8---
However, my guess is that Guile was compiled with the N32 ABI, so it
expects 4-byte words. But Guile’s system/base/target.scm makes this
wrong assumption that “mips64” means 8-byte pointers:
--8<---------------cut here---------------start------------->8---
(define (cpu-word-size cpu)
"Return the word size for CPU."
(if (string=? cpu (triplet-cpu %host-type))
%native-word-size
(cond ((string-match "^i[0-9]86$" cpu) 4)
((string-match "64$" cpu) 8)
((string-match "64[lbe][lbe]$" cpu) 8)
((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)
((string-match "^arm.*" cpu) 4)
(else (error "unknown CPU word size" cpu)))))
--8<---------------cut here---------------end--------------->8---
For now, you can work around it by removing the --target argument from
Makefile.am.
Can you confirm?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mips64el: guild problem
2013-02-18 22:28 ` Ludovic Courtès
@ 2013-02-19 12:47 ` Andreas Enge
2013-02-19 13:01 ` Nikita Karetnikov
2013-02-19 13:35 ` Ludovic Courtès
0 siblings, 2 replies; 5+ messages in thread
From: Andreas Enge @ 2013-02-19 12:47 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: bug-guix
[-- Attachment #1: Type: text/plain, Size: 1011 bytes --]
Am Montag, 18. Februar 2013 schrieb Ludovic Courtès:
> This “GOOF” cookie indicates the Guile Object Object(!) Format. Here,
> it says little endian with 8-byte pointers. That corresponds to this
> GNU triplet:
> However, my guess is that Guile was compiled with the N32 ABI, so it
> expects 4-byte words. But Guile’s system/base/target.scm makes this
> wrong assumption that “mips64” means 8-byte pointers:
That sounds like the good diagnostic. Should guile not explicitly test the
size of the types, using the C sizeof or equivalent? From the triplet, one
cannot deduce the ABI.
> For now, you can work around it by removing the --target argument from
> Makefile.am.
>
> Can you confirm?
Compiling worked so far. Now there is the hash mismatch in
http://alpha.gnu.org/gnu/guix/bootstrap/mips64el-
linux/20130105/guile-2.0.7.tar.xz . Nikita, could you push your
modification with the correct hash, or should I make the suitable
modifications on my side?
Andreas
[-- Attachment #2: Type: text/html, Size: 4111 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mips64el: guild problem
2013-02-19 12:47 ` Andreas Enge
@ 2013-02-19 13:01 ` Nikita Karetnikov
2013-02-19 13:35 ` Ludovic Courtès
1 sibling, 0 replies; 5+ messages in thread
From: Nikita Karetnikov @ 2013-02-19 13:01 UTC (permalink / raw)
To: Andreas Enge; +Cc: bug-guix
[-- Attachment #1: Type: text/plain, Size: 538 bytes --]
> Compiling worked so far. Now there is the hash mismatch in http://alpha.gnu.org
> /gnu/guix/bootstrap/mips64el-linux/20130105/guile-2.0.7.tar.xz . Nikita, could
> you push your modification with the correct hash, or should I make the suitable
> modifications on my side?
You should adjust 'build-aux/download.scm' [1]:
(define %url-base
;; "http://alpha.gnu.org/gnu/guix/bootstrap"
;; Alternately:
"http://www.fdn.fr/~lcourtes/software/guix/packages"
)
[1] https://lists.gnu.org/archive/html/bug-guix/2013-02/msg00102.html
[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mips64el: guild problem
2013-02-19 12:47 ` Andreas Enge
2013-02-19 13:01 ` Nikita Karetnikov
@ 2013-02-19 13:35 ` Ludovic Courtès
1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2013-02-19 13:35 UTC (permalink / raw)
To: Andreas Enge; +Cc: bug-guix
Andreas Enge <andreas@enge.fr> skribis:
> Am Montag, 18. Februar 2013 schrieb Ludovic Courtès:
>> This “GOOF” cookie indicates the Guile Object Object(!) Format. Here,
>> it says little endian with 8-byte pointers. That corresponds to this
>> GNU triplet:
>> However, my guess is that Guile was compiled with the N32 ABI, so it
>> expects 4-byte words. But Guile’s system/base/target.scm makes this
>> wrong assumption that “mips64” means 8-byte pointers:
>
> That sounds like the good diagnostic. Should guile not explicitly test the
> size of the types, using the C sizeof or equivalent? From the triplet, one
> cannot deduce the ABI.
Right, unless using triplet extensions as done on ARM and in Debian,
<http://wiki.debian.org/Multiarch/Tuples> (I think it’s the way to go.)
> Compiling worked so far. Now there is the hash mismatch in
> http://alpha.gnu.org/gnu/guix/bootstrap/mips64el-
> linux/20130105/guile-2.0.7.tar.xz .
It’s just that build-aux/download.scm got a 404 while trying to download
it, because it’s not on gnu.org.
Until it’s on gnu.org, the fix is to manually download it from
<http://www.fdn.fr/~lcourtes/software/guix/packages/mips64el-linux/20130105/guile-2.0.7.tar.xz>.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-02-19 13:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-18 18:32 mips64el: guild problem Andreas Enge
2013-02-18 22:28 ` Ludovic Courtès
2013-02-19 12:47 ` Andreas Enge
2013-02-19 13:01 ` Nikita Karetnikov
2013-02-19 13:35 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).