GNU bug report logs -
#26294
[PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
Previous Next
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.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#26294: [PATCH] gnu: rocksdb: Disable tests on 32-bit systems.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 26294 <at> debbugs.gnu.org.
--
26294: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26294
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (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)]
[Message part 5 (message/rfc822, inline)]
* 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
This bug report was last modified 8 years and 15 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.