GNU bug report logs - #72697
cmake-build-system sets wrong CMAKE_SYSTEM_NAME when crossbuilding for Hurd

Previous Next

Package: guix;

Reported by: Dariqq <dariqq <at> posteo.net>

Date: Sun, 18 Aug 2024 13:42:01 UTC

Severity: normal

Done: Dariqq <dariqq <at> posteo.net>

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 72697 in the body.
You can then email your comments to 72697 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#72697; Package guix. (Sun, 18 Aug 2024 13:42:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dariqq <dariqq <at> posteo.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 18 Aug 2024 13:42:01 GMT) Full text and rfc822 format available.

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

From: Dariqq <dariqq <at> posteo.net>
To: bug-guix <at> gnu.org
Subject: cmake-build-system sets wrong CMAKE_SYSTEM_NAME when crossbuilding
 for Hurd
Date: Sun, 18 Aug 2024 13:40:43 +0000
Hi,

I was playing around with a package using cmake and got an error when 
crossbuilding for i586-pc-gnu. The reason seems to be that cmake build 
system only checks for a mingw target and assumes all other targets are 
Linux and sets CMAKE_SYSTEM_NAME accordingly.

I am able to work around it by adding something like

#$@(if (and (%current-target-system)
	    target-hurd?)
       '("-DCMAKE_SYSTEM_NAME=GNU")
       '())

to the configure-flags of my package.


I am unsure how a fix should look like. I was thinking of moving the 
entire crossbuild code out of the build side and instead prepend the 
right configure flags for the target to configure-flags for the cross 
builder kind of similar how meson-build-system does it.

Unfortunately a change like this causes a lot of rebuilds.




Reply sent to Dariqq <dariqq <at> posteo.net>:
You have taken responsibility. (Tue, 14 Jan 2025 20:09:02 GMT) Full text and rfc822 format available.

Notification sent to Dariqq <dariqq <at> posteo.net>:
bug acknowledged by developer. (Tue, 14 Jan 2025 20:09:03 GMT) Full text and rfc822 format available.

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

From: Dariqq <dariqq <at> posteo.net>
To: 72697-done <at> debbugs.gnu.org, 68366-done <at> debbugs.gnu.org
Subject: Closing bugs
Date: Tue, 14 Jan 2025 20:07:43 +0000
Hello,

I sent https://issues.guix.gnu.org/72751 to move the cross compile logic 
out of the build side code, also adding GNU as a CMAKE_SYSTEM_NAME with 
a  fallback of Generic.

Because this no longer lives in build code it should now be easier to 
add a new SYSTEM_NAME without recompiling the cmake world.

This is now in master.
 ad672d80d7 * build-system: cmake: Rework cross compilation

So I am closing these.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 12 Feb 2025 12:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 184 days ago.

Previous Next


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