GNU bug report logs - #42702
catch2 fails to build on non x86_64 systems

Previous Next

Package: guix;

Reported by: maxim.cournoyer <at> gmail.com

Date: Mon, 3 Aug 2020 18:23:02 UTC

Severity: normal

Done: Efraim Flashner <efraim <at> flashner.co.il>

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 42702 in the body.
You can then email your comments to 42702 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 bug-guix <at> gnu.org:
bug#42702; Package guix. (Mon, 03 Aug 2020 18:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to maxim.cournoyer <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 03 Aug 2020 18:23:02 GMT) Full text and rfc822 format available.

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

From: maxim.cournoyer <at> gmail.com
To: bug-guix <bug-guix <at> gnu.org>
Subject: catch2 build failure on ARM
Date: Mon, 03 Aug 2020 14:22:21 -0400
On ARM systems, (armhf-linux, aarch64-linux), the catch2 package fails to build, due to a
compilation warning treated as an error:

[ 90%] Building CXX object CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o
/gnu/store/ap7hgyv4rjqmhg4a6cb6cypsh3g1f5q4-gcc-7.5.0/bin/c++   -I/tmp/guix-build-catch2-2.1.2.drv-0/source/include  -O2 -g -DNDEBUG   -Wall -Wextra -Wunreachable-code -Wpedantic -Werror -std=c++11 -o CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o -c /tmp/guix-build-catch2-2.1.2.drv-0/source/include/reporters/catch_reporter_xml.cpp
/tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp: In static member function ‘static std::__cxx11::string Catch::StringMaker<char>::convert(char)’:
/tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp:202:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
     } else if ('\0' <= value && value < ' ') {
                ~~~~~^~~~~~~~




Information forwarded to bug-guix <at> gnu.org:
bug#42702; Package guix. (Mon, 03 Aug 2020 18:26:01 GMT) Full text and rfc822 format available.

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

From: maxim.cournoyer <at> gmail.com
To: maxim.cournoyer <at> gmail.com
Cc: 42702 <at> debbugs.gnu.org
Subject: Re: bug#42702: catch2 build failure on ARM
Date: Mon, 03 Aug 2020 14:25:42 -0400
maxim.cournoyer <at> gmail.com writes:

> On ARM systems, (armhf-linux, aarch64-linux), the catch2 package fails to build, due to a
> compilation warning treated as an error:
>
> [ 90%] Building CXX object CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o
> /gnu/store/ap7hgyv4rjqmhg4a6cb6cypsh3g1f5q4-gcc-7.5.0/bin/c++   -I/tmp/guix-build-catch2-2.1.2.drv-0/source/include  -O2 -g -DNDEBUG   -Wall -Wextra -Wunreachable-code -Wpedantic -Werror -std=c++11 -o CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o -c /tmp/guix-build-catch2-2.1.2.drv-0/source/include/reporters/catch_reporter_xml.cpp
> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp: In static member function ‘static std::__cxx11::string Catch::StringMaker<char>::convert(char)’:
> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp:202:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
>      } else if ('\0' <= value && value < ' ') {
>                 ~~~~~^~~~~~~~

This is also the case for i686-linux.




Changed bug title to 'catch2 fails to build on non x86_64 systems' from 'catch2 build failure on ARM' Request was from maxim.cournoyer <at> gmail.com to control <at> debbugs.gnu.org. (Mon, 03 Aug 2020 18:26:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#42702; Package guix. (Mon, 03 Aug 2020 23:10:02 GMT) Full text and rfc822 format available.

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

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: maxim.cournoyer <at> gmail.com
Cc: 42702 <at> debbugs.gnu.org
Subject: Re: bug#42702: catch2 build failure on ARM
Date: Tue, 4 Aug 2020 01:09:28 +0200
[Message part 1 (text/plain, inline)]
Hi Maxim,

On Mon, 03 Aug 2020 14:22:21 -0400
maxim.cournoyer <at> gmail.com wrote:

>      } else if ('\0' <= value && value < ' ') {
>                 ~~~~~^~~~~~~~

I think that this tries to find non-printable characters, so those with ASCII
codes 0 < value < 32 and 128 < value < 255.  But char is unsigned on ARM, so
it won't do that with the code above.  Therefore, this IS an error and treating
it as a warning would be very, very, bad.
[Message part 2 (application/pgp-signature, inline)]

Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Tue, 04 Aug 2020 07:46:02 GMT) Full text and rfc822 format available.

Notification sent to maxim.cournoyer <at> gmail.com:
bug acknowledged by developer. (Tue, 04 Aug 2020 07:46:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: maxim.cournoyer <at> gmail.com
Cc: 42702-done <at> debbugs.gnu.org
Subject: Re: bug#42702: catch2 build failure on ARM
Date: Tue, 4 Aug 2020 10:44:32 +0300
[Message part 1 (text/plain, inline)]
On Mon, Aug 03, 2020 at 02:22:21PM -0400, maxim.cournoyer <at> gmail.com wrote:
> On ARM systems, (armhf-linux, aarch64-linux), the catch2 package fails to build, due to a
> compilation warning treated as an error:
> 
> [ 90%] Building CXX object CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o
> /gnu/store/ap7hgyv4rjqmhg4a6cb6cypsh3g1f5q4-gcc-7.5.0/bin/c++   -I/tmp/guix-build-catch2-2.1.2.drv-0/source/include  -O2 -g -DNDEBUG   -Wall -Wextra -Wunreachable-code -Wpedantic -Werror -std=c++11 -o CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o -c /tmp/guix-build-catch2-2.1.2.drv-0/source/include/reporters/catch_reporter_xml.cpp
> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp: In static member function ‘static std::__cxx11::string Catch::StringMaker<char>::convert(char)’:
> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp:202:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
>      } else if ('\0' <= value && value < ' ') {
>                 ~~~~~^~~~~~~~

Fixed in 7f101e7ceb869882b9a959cb7801aea64c26704d

Do note that this breaks libfive, which has no dependants.

-- 
Efraim Flashner   <efraim <at> 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
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#42702; Package guix. (Mon, 24 Aug 2020 03:28:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: help-debbugs <at> gnu.org (GNU bug Tracking System)
Cc: 42702 <at> debbugs.gnu.org
Subject: Re: bug#42702: closed (Re: bug#42702: catch2 build failure on ARM)
Date: Sun, 23 Aug 2020 23:27:38 -0400
Hello,

[...]

> From: Efraim Flashner <efraim <at> flashner.co.il>
> Subject: Re: bug#42702: catch2 build failure on ARM
> To: maxim.cournoyer <at> gmail.com
> Cc: 42702-done <at> debbugs.gnu.org
> Date: Tue, 4 Aug 2020 10:44:32 +0300 (2 weeks, 5 days, 19 hours ago)
>
> On Mon, Aug 03, 2020 at 02:22:21PM -0400, maxim.cournoyer <at> gmail.com wrote:
>> On ARM systems, (armhf-linux, aarch64-linux), the catch2 package fails to build, due to a
>> compilation warning treated as an error:
>> 
>> [ 90%] Building CXX object CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o
>> /gnu/store/ap7hgyv4rjqmhg4a6cb6cypsh3g1f5q4-gcc-7.5.0/bin/c++   -I/tmp/guix-build-catch2-2.1.2.drv-0/source/include  -O2 -g -DNDEBUG   -Wall -Wextra -Wunreachable-code -Wpedantic -Werror -std=c++11 -o CMakeFiles/SelfTest.dir/include/reporters/catch_reporter_xml.cpp.o -c /tmp/guix-build-catch2-2.1.2.drv-0/source/include/reporters/catch_reporter_xml.cpp
>> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp: In static member function ‘static std::__cxx11::string Catch::StringMaker<char>::convert(char)’:
>> /tmp/guix-build-catch2-2.1.2.drv-0/source/include/internal/catch_tostring.cpp:202:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
>>      } else if ('\0' <= value && value < ' ') {
>>                 ~~~~~^~~~~~~~
>
> Fixed in 7f101e7ceb869882b9a959cb7801aea64c26704d
>
> Do note that this breaks libfive, which has no dependants.

Thank you for fixing it! :-)

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#42702; Package guix. (Mon, 24 Aug 2020 08:47:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: 42702-done <at> debbugs.gnu.org
Subject: Re: bug#42702: closed (Re: bug#42702: catch2 build failure on ARM)
Date: Mon, 24 Aug 2020 11:45:55 +0300
[Message part 1 (text/plain, inline)]
Closing this bug :)


-- 
Efraim Flashner   <efraim <at> 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
[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. (Mon, 21 Sep 2020 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 268 days ago.

Previous Next


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