unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#21987: Version 0.9 Fails to Compile on Raspbian
@ 2015-11-22 22:41 Martin Vahi
  2015-11-23  0:34 ` Thompson, David
  2015-11-23 14:41 ` Ludovic Courtès
  0 siblings, 2 replies; 13+ messages in thread
From: Martin Vahi @ 2015-11-22 22:41 UTC (permalink / raw)
  To: bug-Guix

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


An excerpt of the console output:


----citation--start-----
  CXX      nix/libstore/libstore_a-build.o
nix/libstore/build.cc: In member function 'void
nix::Worker::waitForInput()':
nix/libstore/build.cc:3332:74: warning: comparison between signed and
unsigned integer expressions [-Wsign-compare]
     if (!waitingForAWhile.empty() && lastWokenUp +
settings.pollInterval <= after) {
                                                                          ^
  CXX      nix/libstore/libstore_a-pathlocks.o
  CXX      nix/libstore/libstore_a-derivations.o
  AR       libstore.a
  CXX      nix/nix-daemon/guix_daemon-nix-daemon.o
  CXX      nix/nix-daemon/guix_daemon-guix-daemon.o
  CXXLD    guix-daemon
  CXX      nix/guix-register/guix_register-guix-register.o
  CXXLD    guix-register
  GUILEC guix/base32.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /usr/bin/guild
;;; compiled /home/pi/.cache/guile/ccache/2.0-LE-4-2.0/usr/bin/guild.go
wrote `guix/base32.go'
  GUILEC guix/base64.go
wrote `guix/base64.go'
  GUILEC guix/cpio.go
wrote `guix/cpio.go'
  GUILEC guix/records.go
wrote `guix/records.go'
  GUILEC guix/gcrypt.go
wrote `guix/gcrypt.go'
  GUILEC guix/hash.go
wrote `guix/hash.go'
  GUILEC guix/pk-crypto.go
Backtrace:
In ice-9/boot-9.scm:
2401: 19 [save-module-excursion #<procedure 14675b8 at
ice-9/boot-9.scm:3066:17 ()>]
3085: 18 [#<procedure 14675b8 at ice-9/boot-9.scm:3066:17 ()>]
In unknown file:
   ?: 17 [primitive-load-path "guix/utils" ...]
In ice-9/eval.scm:
 505: 16 [#<procedure 1174400 at ice-9/eval.scm:499:4 (exp)>
(define-module # # ...)]
In ice-9/psyntax.scm:
1106: 15 [expand-top-sequence ((define-module (guix utils) #:use-module
...)) () ...]
 989: 14 [scan ((define-module (guix utils) #:use-module ...)) () ...]
 279: 13 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 12 [eval # ()]
In ice-9/boot-9.scm:
2951: 11 [define-module* (guix utils) #:filename ...]
2926: 10 [resolve-imports (((guix config)) ((srfi srfi-1)) ((srfi
srfi-9)) ...)]
2864: 9 [resolve-interface (guix build syscalls) #:select ...]
2789: 8 [#<procedure 11c92b0 at ice-9/boot-9.scm:2777:4 (name #:optional
autoload version #:key ensure)> # ...]
3065: 7 [try-module-autoload (guix build syscalls) #f]
2401: 6 [save-module-excursion #<procedure 188e798 at
ice-9/boot-9.scm:3066:17 ()>]
3085: 5 [#<procedure 188e798 at ice-9/boot-9.scm:3066:17 ()>]
In unknown file:
   ?: 4 [primitive-load-path "guix/build/syscalls" ...]
In ice-9/eval.scm:
 453: 3 [eval # ()]
 411: 2 [eval # #]
 386: 1 [eval # #]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 13164c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
match-error ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 13164c0 at
ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: Throw to key `match-error' with args `("match"
"no matching pattern" "armv6l")'.
Makefile:4526: recipe for target 'guix/pk-crypto.go' failed
make[2]: *** [guix/pk-crypto.go] Error 1
make[2]: Leaving directory '/nix/mmmv_jama/GNU_Guix/guix-0.9.0'
Makefile:3688: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/nix/mmmv_jama/GNU_Guix/guix-0.9.0'
Makefile:2302: recipe for target 'all' failed
make: *** [all] Error 2
pi@raspberrypi /nix/mmmv_jama/GNU_Guix/guix-0.9.0 $ uname -a
Linux raspberrypi 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015
armv6l GNU/Linux
pi@raspberrypi /nix/mmmv_jama/GNU_Guix/guix-0.9.0 $ date
Sun Nov 22 15:03:12 UTC 2015
pi@raspberrypi /nix/mmmv_jama/GNU_Guix/guix-0.9.0 $ echo $CFLAGS
-mtune=native -ftree-vectorize
pi@raspberrypi /nix/mmmv_jama/GNU_Guix/guix-0.9.0 $ echo $CXXFLAGS
-mtune=native -ftree-vectorize
pi@raspberrypi /nix/mmmv_jama/GNU_Guix/guix-0.9.0 $
----citation--end-----



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

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-22 22:41 bug#21987: Version 0.9 Fails to Compile on Raspbian Martin Vahi
@ 2015-11-23  0:34 ` Thompson, David
  2015-11-23 14:41 ` Ludovic Courtès
  1 sibling, 0 replies; 13+ messages in thread
From: Thompson, David @ 2015-11-23  0:34 UTC (permalink / raw)
  To: Martin Vahi; +Cc: bug-Guix

On Sun, Nov 22, 2015 at 5:41 PM, Martin Vahi <martin.vahi@softf1.com> wrote:
>
[snip]
> ice-9/boot-9.scm:106:20: In procedure #<procedure 13164c0 at
> ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: Throw to key `match-error' with args `("match"
> "no matching pattern" "armv6l")'.

The Raspberry Pi's processor uses an ARMv6 processor, but Guix only
supports ARMv7.  Sorry!

- Dave

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-22 22:41 bug#21987: Version 0.9 Fails to Compile on Raspbian Martin Vahi
  2015-11-23  0:34 ` Thompson, David
@ 2015-11-23 14:41 ` Ludovic Courtès
       [not found]   ` <56538E5A.60907@softf1.com>
  1 sibling, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-11-23 14:41 UTC (permalink / raw)
  To: Martin Vahi; +Cc: 21987

Hello!

As David wrote, ARMv6 is not supported.  However, ./configure should
detect that early.

Could you send us the output of:

  grep host= config.log

?

Thanks for your report!

Ludo’.

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
       [not found]   ` <56538E5A.60907@softf1.com>
@ 2015-11-24  9:03     ` Ludovic Courtès
  2015-11-25  2:49       ` Mark H Weaver
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-11-24  9:03 UTC (permalink / raw)
  To: Martin Vahi; +Cc: 21987

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

(Please keep 21987@debbugs.gnu.org Cc’d.)

Martin Vahi <martin.vahi@softf1.com> skribis:

> checking build system type... armv6l-unknown-linux-gnueabihf
> checking host system type... armv6l-unknown-linux-gnueabihf

[...]

> checking for the Guix system type... armhf-linux

This is the problem: ‘configure’ should bail out when it encounters
“armv6l”.  I believe the patch below solves that.

The triplet we pass to ‘./configure --build’ starts with “arm-”
(computed from ‘nix-system->gnu-triplet’.)  However, when running
config.guess outside of the Guix environment on hydra-slave1, I get
“armv7l”.  So I think we have to allow both.

Mark?

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 761 bytes --]

diff --git a/m4/guix.m4 b/m4/guix.m4
index 842249a..4f586b6 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -51,7 +51,12 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
           machine_name="i686";;
        amd64)
           machine_name="x86_64";;
-       arm*)
+       arm|armv7*)
+          # Here we want to exclude CPUs such as "armv6l".  On ARMv7
+          # machines, we normally get "armv7l".  However, in Guix, we
+          # configure with --build=arm-unknown-linux-gnueabihf, leading
+          # to just "arm", so we also have to allow it.
+          #
           # TODO: If not cross-compiling, add a sanity check to make
           #       sure this build machine has the needed features to
           #       support executables compiled using our armhf gcc,

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-24  9:03     ` Ludovic Courtès
@ 2015-11-25  2:49       ` Mark H Weaver
  2015-11-25 16:02         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Mark H Weaver @ 2015-11-25  2:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Martin Vahi, 21987

ludo@gnu.org (Ludovic Courtès) writes:

> (Please keep 21987@debbugs.gnu.org Cc’d.)
>
> Martin Vahi <martin.vahi@softf1.com> skribis:
>
>> checking build system type... armv6l-unknown-linux-gnueabihf
>> checking host system type... armv6l-unknown-linux-gnueabihf
>
> [...]
>
>> checking for the Guix system type... armhf-linux
>
> This is the problem: ‘configure’ should bail out when it encounters
> “armv6l”.  I believe the patch below solves that.
>
> The triplet we pass to ‘./configure --build’ starts with “arm-”
> (computed from ‘nix-system->gnu-triplet’.)  However, when running
> config.guess outside of the Guix environment on hydra-slave1, I get
> “armv7l”.  So I think we have to allow both.
>
> Mark?

We should allow arm8* as well, no?  Actually armN* for N >= 7.  Ideally,
we would test for the processor features we actually need.

      Mark
      

> diff --git a/m4/guix.m4 b/m4/guix.m4
> index 842249a..4f586b6 100644
> --- a/m4/guix.m4
> +++ b/m4/guix.m4
> @@ -51,7 +51,12 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
>            machine_name="i686";;
>         amd64)
>            machine_name="x86_64";;
> -       arm*)
> +       arm|armv7*)
> +          # Here we want to exclude CPUs such as "armv6l".  On ARMv7
> +          # machines, we normally get "armv7l".  However, in Guix, we
> +          # configure with --build=arm-unknown-linux-gnueabihf, leading
> +          # to just "arm", so we also have to allow it.
> +          #
>            # TODO: If not cross-compiling, add a sanity check to make
>            #       sure this build machine has the needed features to
>            #       support executables compiled using our armhf gcc,

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-25  2:49       ` Mark H Weaver
@ 2015-11-25 16:02         ` Ludovic Courtès
  2015-11-26 20:54           ` Efraim Flashner
  2015-11-30 16:24           ` Andreas Enge
  0 siblings, 2 replies; 13+ messages in thread
From: Ludovic Courtès @ 2015-11-25 16:02 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: Martin Vahi, 21987-done

Mark H Weaver <mhw@netris.org> skribis:

> We should allow arm8* as well, no?  Actually armN* for N >= 7.

Right.  I did that in 968ae90.  We’ll revisit it when ARMv10 is out.
;-)

> Ideally, we would test for the processor features we actually need.

Yes.  I’m not sure how to test each of them.  Maybe GMP has something in
that vein?

Ludo’.

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-25 16:02         ` Ludovic Courtès
@ 2015-11-26 20:54           ` Efraim Flashner
  2015-11-27  9:27             ` Ludovic Courtès
  2015-11-30 16:24           ` Andreas Enge
  1 sibling, 1 reply; 13+ messages in thread
From: Efraim Flashner @ 2015-11-26 20:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 21987-done

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

On Wed, 25 Nov 2015 17:02:46 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Mark H Weaver <mhw@netris.org> skribis:
> 
> > We should allow arm8* as well, no?  Actually armN* for N >= 7.  
> 
> Right.  I did that in 968ae90.  We’ll revisit it when ARMv10 is out.
> ;-)
> 
> > Ideally, we would test for the processor features we actually need.  
> 
> Yes.  I’m not sure how to test each of them.  Maybe GMP has something in
> that vein?
> 
> Ludo’.

What processor flags specifically are we looking for?

From my Raspberry Pi 1:
ssh mypi cat /proc/cpuinfo | grep -m1 Features
Features	: half thumb fastmult vfp edsp java tls

-- 
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] 13+ messages in thread

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-26 20:54           ` Efraim Flashner
@ 2015-11-27  9:27             ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2015-11-27  9:27 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 21987-done

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

> What processor flags specifically are we looking for?

The details are given in guix.m4:

   # TODO: If not cross-compiling, add a sanity check to make
   #       sure this build machine has the needed features to
   #       support executables compiled using our armhf gcc,
   #       configured with:
   #         --with-arch=armv7-a
   #         --with-float=hard
   #         --with-mode=thumb
   #         --with-fpu=vfpv3-d16

> From my Raspberry Pi 1:
> ssh mypi cat /proc/cpuinfo | grep -m1 Features
> Features	: half thumb fastmult vfp edsp java tls

Sounds like this could work, though we need to check the exact flag
names for the features mentioned above.

On the Novena, we have:

  model name      : ARMv7 Processor rev 10 (v7l)
  BogoMIPS        : 166.00
  Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 

Looks like checking for thumb, vfpv3, and (vpfd32|vfpd16) would do?

There doesn’t seem to be a more streamlined /sys interface to get these
flags, which is unfortunate.

Ludo’.

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-25 16:02         ` Ludovic Courtès
  2015-11-26 20:54           ` Efraim Flashner
@ 2015-11-30 16:24           ` Andreas Enge
  2015-11-30 17:43             ` Ludovic Courtès
  1 sibling, 1 reply; 13+ messages in thread
From: Andreas Enge @ 2015-11-30 16:24 UTC (permalink / raw)
  To: 21987, ludo, martin.vahi

On Wed, Nov 25, 2015 at 05:02:46PM +0100, Ludovic Courtès wrote:
> Mark H Weaver <mhw@netris.org> skribis:
> > We should allow arm8* as well, no?  Actually armN* for N >= 7.
> Right.  I did that in 968ae90.  We’ll revisit it when ARMv10 is out.

Currently (commit 36f26211bbb2c4dffe33427d4e65d5225a586a5b), configure fails
on my novena with the following message:
checking for the Guix system type... armv7l-linux
configure: error: `armv7l-linux' is not a supported platform.
See "GNU Distribution" in the manual, or try `--with-courage'.

I suppose this is due to the commit above.

Andreas

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-30 16:24           ` Andreas Enge
@ 2015-11-30 17:43             ` Ludovic Courtès
  2015-11-30 18:01               ` Andreas Enge
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-11-30 17:43 UTC (permalink / raw)
  To: Andreas Enge; +Cc: martin.vahi, 21987

Andreas Enge <andreas@enge.fr> skribis:

> On Wed, Nov 25, 2015 at 05:02:46PM +0100, Ludovic Courtès wrote:
>> Mark H Weaver <mhw@netris.org> skribis:
>> > We should allow arm8* as well, no?  Actually armN* for N >= 7.
>> Right.  I did that in 968ae90.  We’ll revisit it when ARMv10 is out.
>
> Currently (commit 36f26211bbb2c4dffe33427d4e65d5225a586a5b), configure fails
> on my novena with the following message:
> checking for the Guix system type... armv7l-linux
> configure: error: `armv7l-linux' is not a supported platform.

Could you check the value of ‘host_cpu’ in config.log?  The pattern use
in guix.m4 is supposed to allow ‘armv7l’.

TIA,
Ludo’.

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-30 17:43             ` Ludovic Courtès
@ 2015-11-30 18:01               ` Andreas Enge
  2015-12-01 21:44                 ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Enge @ 2015-11-30 18:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: martin.vahi, 21987

On Mon, Nov 30, 2015 at 06:43:37PM +0100, Ludovic Courtès wrote:
> Could you check the value of ‘host_cpu’ in config.log?  The pattern use
> in guix.m4 is supposed to allow ‘armv7l’.

Yes, that is what surprises me also. An excerpt of config.log:

guix_system='armv7l-linux'
host='armv7l-unknown-linux-gnueabihf'
host_alias=''
host_cpu='armv7l'
host_os='linux-gnueabihf'
host_vendor='unknown'

Andreas

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-11-30 18:01               ` Andreas Enge
@ 2015-12-01 21:44                 ` Ludovic Courtès
  2015-12-02  9:19                   ` Andreas Enge
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2015-12-01 21:44 UTC (permalink / raw)
  To: Andreas Enge; +Cc: martin.vahi, 21987

Andreas Enge <andreas@enge.fr> skribis:

> On Mon, Nov 30, 2015 at 06:43:37PM +0100, Ludovic Courtès wrote:
>> Could you check the value of ‘host_cpu’ in config.log?  The pattern use
>> in guix.m4 is supposed to allow ‘armv7l’.
>
> Yes, that is what surprises me also. An excerpt of config.log:
>
> guix_system='armv7l-linux'
> host='armv7l-unknown-linux-gnueabihf'
> host_alias=''
> host_cpu='armv7l'

Fixed in dfdb15d (an M4 quotation issue…)

Thanks,
Ludo’.

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

* bug#21987: Version 0.9 Fails to Compile on Raspbian
  2015-12-01 21:44                 ` Ludovic Courtès
@ 2015-12-02  9:19                   ` Andreas Enge
  0 siblings, 0 replies; 13+ messages in thread
From: Andreas Enge @ 2015-12-02  9:19 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: martin.vahi, 21987

On Tue, Dec 01, 2015 at 10:44:10PM +0100, Ludovic Courtès wrote:
> Fixed in dfdb15d (an M4 quotation issue…)

Subtle, thanks for fixing it! It seems to work now.

Andreas

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

end of thread, other threads:[~2015-12-02  9:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-22 22:41 bug#21987: Version 0.9 Fails to Compile on Raspbian Martin Vahi
2015-11-23  0:34 ` Thompson, David
2015-11-23 14:41 ` Ludovic Courtès
     [not found]   ` <56538E5A.60907@softf1.com>
2015-11-24  9:03     ` Ludovic Courtès
2015-11-25  2:49       ` Mark H Weaver
2015-11-25 16:02         ` Ludovic Courtès
2015-11-26 20:54           ` Efraim Flashner
2015-11-27  9:27             ` Ludovic Courtès
2015-11-30 16:24           ` Andreas Enge
2015-11-30 17:43             ` Ludovic Courtès
2015-11-30 18:01               ` Andreas Enge
2015-12-01 21:44                 ` Ludovic Courtès
2015-12-02  9:19                   ` Andreas Enge

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).