GNU bug report logs - #26294
[PATCH] gnu: rocksdb: Disable tests on 32-bit systems.

Previous Next

Package: guix-patches;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Wed, 29 Mar 2017 09:43:02 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26294 in the body.
You can then email your comments to 26294 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#26294; Package guix-patches. (Wed, 29 Mar 2017 09:43:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Marius Bakke <mbakke <at> fastmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 29 Mar 2017 09:43:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: guix-patches <at> gnu.org
Cc: Marius Bakke <mbakke <at> fastmail.com>
Subject: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Date: Wed, 29 Mar 2017 11:42:20 +0200
* gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
Delete unnecessary 'build' phase.
---
 gnu/packages/databases.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index b87e8a210..e73635910 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -533,12 +533,20 @@ types are supported, as is encryption.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     '(#:make-flags (list "CC=gcc"
+     `(#:make-flags (list "CC=gcc"
                           ;; Make the resulting library position-independent so the
                           ;; static version can be included in shared objects.
                           "EXTRA_CXXFLAGS=-fPIC"
                           (string-append "INSTALL_PATH="
                                          (assoc-ref %outputs "out")))
+       ;; Many tests fail on 32-bit platforms. There are multiple reports about
+       ;; this upstream, but it's not going to be supported any time soon.
+       #:tests? (let ((system ,(or (%current-target-system)
+                                   (%current-system)))
+                      (supported-systems '("x86_64-linux" "aarch64-linux")))
+                  (if (member system supported-systems)
+                      #t
+                      #f))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-Makefile
@@ -548,6 +556,8 @@ types are supported, as is encryption.")
                (("#!/bin/sh") (string-append "#!" (which "sh"))))
              #t))
          (delete 'configure)
+         ;; The default target is only needed for tests and built on demand.
+         (delete 'build)
          (add-before 'check 'disable-failing-tests
            (lambda _
              (substitute* "Makefile"
-- 
2.12.2





Information forwarded to guix-patches <at> gnu.org:
bug#26294; Package guix-patches. (Fri, 31 Mar 2017 19:01:02 GMT) Full text and rfc822 format available.

Message #8 received at 26294 <at> debbugs.gnu.org (full text, mbox):

From: Kei Kebreau <kei <at> openmailbox.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 26294 <at> debbugs.gnu.org
Subject: Re: bug#26294: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Date: Fri, 31 Mar 2017 15:00:33 -0400
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> * gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
> Delete unnecessary 'build' phase.
> ---
>  gnu/packages/databases.scm | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
> index b87e8a210..e73635910 100644
> --- a/gnu/packages/databases.scm
> +++ b/gnu/packages/databases.scm
> @@ -533,12 +533,20 @@ types are supported, as is encryption.")
>                    #t))))
>      (build-system gnu-build-system)
>      (arguments
> -     '(#:make-flags (list "CC=gcc"
> +     `(#:make-flags (list "CC=gcc"
>                            ;; Make the resulting library position-independent so the
>                            ;; static version can be included in shared objects.
>                            "EXTRA_CXXFLAGS=-fPIC"
>                            (string-append "INSTALL_PATH="
>                                           (assoc-ref %outputs "out")))
> +       ;; Many tests fail on 32-bit platforms. There are multiple reports about
> +       ;; this upstream, but it's not going to be supported any time soon.
> +       #:tests? (let ((system ,(or (%current-target-system)
> +                                   (%current-system)))
> +                      (supported-systems '("x86_64-linux" "aarch64-linux")))
> +                  (if (member system supported-systems)
> +                      #t
> +                      #f))
>         #:phases
>         (modify-phases %standard-phases
>           (add-after 'unpack 'patch-Makefile
> @@ -548,6 +556,8 @@ types are supported, as is encryption.")
>                 (("#!/bin/sh") (string-append "#!" (which "sh"))))
>               #t))
>           (delete 'configure)
> +         ;; The default target is only needed for tests and built on demand.
> +         (delete 'build)
>           (add-before 'check 'disable-failing-tests
>             (lambda _
>               (substitute* "Makefile"

I'm unable to test your claim about 32-bit tests (I'm getting HTTP error code
504 when attempt to access info on hydra.gnu.org), but the package
builds and lints fine for me on x86_64.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#26294; Package guix-patches. (Mon, 17 Apr 2017 21:30:02 GMT) Full text and rfc822 format available.

Message #11 received at 26294 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 26294 <at> debbugs.gnu.org
Subject: Re: bug#26294: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Date: Mon, 17 Apr 2017 23:29:18 +0200
Hello,

Marius Bakke <mbakke <at> fastmail.com> skribis:

> * gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
> Delete unnecessary 'build' phase.
> ---
>  gnu/packages/databases.scm | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
> index b87e8a210..e73635910 100644
> --- a/gnu/packages/databases.scm
> +++ b/gnu/packages/databases.scm
> @@ -533,12 +533,20 @@ types are supported, as is encryption.")
>                    #t))))
>      (build-system gnu-build-system)
>      (arguments
> -     '(#:make-flags (list "CC=gcc"
> +     `(#:make-flags (list "CC=gcc"
>                            ;; Make the resulting library position-independent so the
>                            ;; static version can be included in shared objects.
>                            "EXTRA_CXXFLAGS=-fPIC"
>                            (string-append "INSTALL_PATH="
>                                           (assoc-ref %outputs "out")))
> +       ;; Many tests fail on 32-bit platforms. There are multiple reports about
> +       ;; this upstream, but it's not going to be supported any time soon.
> +       #:tests? (let ((system ,(or (%current-target-system)
> +                                   (%current-system)))
> +                      (supported-systems '("x86_64-linux" "aarch64-linux")))
> +                  (if (member system supported-systems)
> +                      #t
> +                      #f))

This doesn’t work because (%current-target-system) is a GNU triplet,
like “arm-linux-gnueabihf”, whereas (%current-system) is a “system
type”, like “armhf-linux”.

Instead you should use ‘string-prefix?’ or similar.

Other than that, I think it should go in!

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#26294; Package guix-patches. (Mon, 17 Apr 2017 21:35:01 GMT) Full text and rfc822 format available.

Message #14 received at 26294 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26294 <at> debbugs.gnu.org
Subject: Re: bug#26294: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Date: Mon, 17 Apr 2017 23:34:56 +0200
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
>> Delete unnecessary 'build' phase.
>> ---
>>  gnu/packages/databases.scm | 12 +++++++++++-
>>  1 file changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
>> index b87e8a210..e73635910 100644
>> --- a/gnu/packages/databases.scm
>> +++ b/gnu/packages/databases.scm
>> @@ -533,12 +533,20 @@ types are supported, as is encryption.")
>>                    #t))))
>>      (build-system gnu-build-system)
>>      (arguments
>> -     '(#:make-flags (list "CC=gcc"
>> +     `(#:make-flags (list "CC=gcc"
>>                            ;; Make the resulting library position-independent so the
>>                            ;; static version can be included in shared objects.
>>                            "EXTRA_CXXFLAGS=-fPIC"
>>                            (string-append "INSTALL_PATH="
>>                                           (assoc-ref %outputs "out")))
>> +       ;; Many tests fail on 32-bit platforms. There are multiple reports about
>> +       ;; this upstream, but it's not going to be supported any time soon.
>> +       #:tests? (let ((system ,(or (%current-target-system)
>> +                                   (%current-system)))
>> +                      (supported-systems '("x86_64-linux" "aarch64-linux")))
>> +                  (if (member system supported-systems)
>> +                      #t
>> +                      #f))
>
> This doesn’t work because (%current-target-system) is a GNU triplet,
> like “arm-linux-gnueabihf”, whereas (%current-system) is a “system
> type”, like “armhf-linux”.
>
> Instead you should use ‘string-prefix?’ or similar.
>
> Other than that, I think it should go in!

Well, I actually tried this recently (also disabling the individual
tests, which was a rabbit hole that ultimately gave an inexplicable
error).

Anyway, when building for i686-linux on x86_64, the compiler appears to
hit a never-ending loop at the linking stage! I'm pretty sure this was
not the case before the core-updates merge (when I tested this), so I
wonder if it's a case of
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26497 .

To be continued, but now it would just cause the build to take up a CPU
core until it times out, rather than failing early..
[signature.asc (application/pgp-signature, inline)]

Reply sent to Marius Bakke <mbakke <at> fastmail.com>:
You have taken responsibility. (Fri, 12 May 2017 13:28:01 GMT) Full text and rfc822 format available.

Notification sent to Marius Bakke <mbakke <at> fastmail.com>:
bug acknowledged by developer. (Fri, 12 May 2017 13:28:02 GMT) Full text and rfc822 format available.

Message #19 received at 26294-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26294-done <at> debbugs.gnu.org
Subject: Re: bug#26294: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Date: Fri, 12 May 2017 15:27:15 +0200
[Message part 1 (text/plain, inline)]
Marius Bakke <mbakke <at> fastmail.com> writes:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello,
>>
>> Marius Bakke <mbakke <at> fastmail.com> skribis:
>>
>>> * gnu/packages/databases.scm (rocksdb)[arguments]: Make #:tests? conditional.
>>> Delete unnecessary 'build' phase.
>>> ---
>>>  gnu/packages/databases.scm | 12 +++++++++++-
>>>  1 file changed, 11 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
>>> index b87e8a210..e73635910 100644
>>> --- a/gnu/packages/databases.scm
>>> +++ b/gnu/packages/databases.scm
>>> @@ -533,12 +533,20 @@ types are supported, as is encryption.")
>>>                    #t))))
>>>      (build-system gnu-build-system)
>>>      (arguments
>>> -     '(#:make-flags (list "CC=gcc"
>>> +     `(#:make-flags (list "CC=gcc"
>>>                            ;; Make the resulting library position-independent so the
>>>                            ;; static version can be included in shared objects.
>>>                            "EXTRA_CXXFLAGS=-fPIC"
>>>                            (string-append "INSTALL_PATH="
>>>                                           (assoc-ref %outputs "out")))
>>> +       ;; Many tests fail on 32-bit platforms. There are multiple reports about
>>> +       ;; this upstream, but it's not going to be supported any time soon.
>>> +       #:tests? (let ((system ,(or (%current-target-system)
>>> +                                   (%current-system)))
>>> +                      (supported-systems '("x86_64-linux" "aarch64-linux")))
>>> +                  (if (member system supported-systems)
>>> +                      #t
>>> +                      #f))
>>
>> This doesn’t work because (%current-target-system) is a GNU triplet,
>> like “arm-linux-gnueabihf”, whereas (%current-system) is a “system
>> type”, like “armhf-linux”.
>>
>> Instead you should use ‘string-prefix?’ or similar.
>>
>> Other than that, I think it should go in!
>
> Well, I actually tried this recently (also disabling the individual
> tests, which was a rabbit hole that ultimately gave an inexplicable
> error).
>
> Anyway, when building for i686-linux on x86_64, the compiler appears to
> hit a never-ending loop at the linking stage! I'm pretty sure this was
> not the case before the core-updates merge (when I tested this), so I
> wonder if it's a case of
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26497 .
>
> To be continued, but now it would just cause the build to take up a CPU
> core until it times out, rather than failing early..

I'm still hitting some loop when building for i686-linux, but decided to
push this patch regardless to see if it works better on native platforms
(especially ARM, now that jemalloc is fixed).

Closing this bug, but will keep an eye on Hydra and open a new bug if
the build farm encounters the same problem.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 10 Jun 2017 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.