GNU bug report logs - #63258
GCC package lacks librt.so (and instead only provides versioned librt.so.1)

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Mekeor Melire <mekeor@HIDDEN>; merged with #63728; dated Thu, 4 May 2023 09:29:02 UTC; Maintainer for guix is bug-guix@HIDDEN.
Merged 63258 63728. Request was from Antero Mejr <antero@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 May 2023 19:50:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 04 15:50:55 2023
Received: from localhost ([127.0.0.1]:52117 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pueyc-0007QI-OD
	for submit <at> debbugs.gnu.org; Thu, 04 May 2023 15:50:55 -0400
Received: from lists.gnu.org ([209.51.188.17]:59326)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dev@HIDDEN>) id 1pueyb-0007Pw-Gp
 for submit <at> debbugs.gnu.org; Thu, 04 May 2023 15:50:53 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <dev@HIDDEN>) id 1pueyR-0005Me-LH
 for bug-guix@HIDDEN; Thu, 04 May 2023 15:50:45 -0400
Received: from jpoiret.xyz ([206.189.101.64])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <dev@HIDDEN>)
 id 1pueyP-00051a-Nk; Thu, 04 May 2023 15:50:43 -0400
Received: from authenticated-user (jpoiret.xyz [206.189.101.64])
 by jpoiret.xyz (Postfix) with ESMTPA id 3AFE1184F2A;
 Thu,  4 May 2023 19:50:38 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpoiret.xyz; s=dkim;
 t=1683229838;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=RewN7oxaBDWTlt1ICOcwieBuxwi0a1ltxAjFd6uoQgo=;
 b=J5il2brJ5BrOkx+Q+dVNKNxYkQazyFHiOdrJ/sA9f8aBlFMDkxViAeVMKimCpkepRhmLnA
 yeoVPmzwMwoWg+E1Kl+6nYVdSlhNLJHUZ+HChyW1Bkt0VDiutJ8Q0PpfQvy5mlO/FclifW
 qVD9apUV1EyKvoDJTgOyu7Da3C1i9VgIYfupuGHAXwVqkMReRKmqN5QDbrcbje2ii6v6Qe
 SEne6igFzCd/nsRDLKa1aSwgr2H/EdreaC+wQ6EZdbpIKoBV/jHpONfNZ5MMT33pa9tFu+
 0dOnD6gJDkqJv8oUQmjjP9KHOcLbvoFOpjRvVJvp/+YkTWRdvqLHAAzruvaLdQ==
From: Josselin Poiret <dev@HIDDEN>
To: Mekeor Melire <mekeor@HIDDEN>,
	bug-guix@HIDDEN
Subject: [PATCH] gnu: gcc-toolchain: Add empty librt.a.
Date: Thu,  4 May 2023 21:50:37 +0200
Message-Id: <a7e33ea2f29b930d4782932ea733ccf9ca7f76da.1683229790.git.dev@HIDDEN>
In-Reply-To: <87ttwscuow.fsf@HIDDEN>
References: <87ttwscuow.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: ++++
Authentication-Results: jpoiret.xyz;
 auth=pass smtp.auth=jpoiret@HIDDEN smtp.mailfrom=dev@HIDDEN
X-Spam-Level: ****
Received-SPF: pass client-ip=206.189.101.64; envelope-from=dev@HIDDEN;
 helo=jpoiret.xyz
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: Josselin Poiret <dev@HIDDEN>,
 =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

From: Josselin Poiret <dev@HIDDEN>

* gnu/packages/commencememnt.scm (make-gcc-toolchain): Add empty librt.a.
* gnu/packages/base.scm (gcc): Add a warning regarding the missing librt.a.
---
Hi,

This patch should be enough for -lrt to work with gcc-toolchain.  This doesn't
fix the underlying issue for the gcc package though, as it would incur a world
rebuild.

Best,
Josselin

 gnu/packages/base.scm         | 4 ++++
 gnu/packages/commencement.scm | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 6911ea78be..4350fd4041 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -945,6 +945,10 @@ (define-public glibc
                      ;; library is empty by some criterion (such as their file
                      ;; size equaling eight bytes) rather than hardcoding them
                      ;; by name.
+
+                     ;; XXX: We forgot librt.a for the current version!  In
+                     ;; the meantime, gcc-toolchain provides it, but remove
+                     ;; that fix once librt.a is added here.
                      (define empty-static-libraries
                        '("libpthread.a" "libdl.a" "libutil.a" "libanl.a"))
                      (define (empty-static-library? file)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 25e96b1aa6..26d5eb3819 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3452,6 +3452,13 @@ (define* (make-gcc-toolchain gcc
                        (union-build (assoc-ref %outputs "static")
                                     (list (assoc-ref %build-inputs
                                                      "libc-static")))
+                       ;; XXX Remove once an empty librt.a is added to
+                       ;; libc:out.
+                       (copy-file
+                        (string-append (assoc-ref %outputs "out")
+                                       "/lib/libpthread.a")
+                        (string-append (assoc-ref %outputs "out")
+                                       "/lib/librt.a"))
                        #t))))
 
       (native-search-paths

base-commit: f14d3944cc699d1426c31b304fb49b72a579666a
-- 
2.39.2





Information forwarded to bug-guix@HIDDEN:
bug#63258; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 May 2023 09:28:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 04 05:28:41 2023
Received: from localhost ([127.0.0.1]:48572 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1puVGS-0002eO-Ub
	for submit <at> debbugs.gnu.org; Thu, 04 May 2023 05:28:41 -0400
Received: from lists.gnu.org ([209.51.188.17]:43226)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mekeor@HIDDEN>) id 1puVGQ-0002eE-9P
 for submit <at> debbugs.gnu.org; Thu, 04 May 2023 05:28:39 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mekeor@HIDDEN>) id 1puVGP-0000Tp-SL
 for bug-guix@HIDDEN; Thu, 04 May 2023 05:28:38 -0400
Received: from mout02.posteo.de ([185.67.36.66])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mekeor@HIDDEN>) id 1puVGN-0001Tv-Te
 for bug-guix@HIDDEN; Thu, 04 May 2023 05:28:37 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 59ED7240213
 for <bug-guix@HIDDEN>; Thu,  4 May 2023 11:28:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017;
 t=1683192512; bh=lXcWdZIae03B0/WBp9wvGu520hvXGVzr801tlu0COJo=;
 h=From:To:Cc:Subject:Date:From;
 b=LJcz6aIUrDYJ8m6bLfEek+T4MFfv1vDgTSrf2yuLU/fWl9+uzufEaydlaVHIWzc+2
 rBd+ucS0ehlGxOmKlVNRNpBBfEfXtwRhVDc2B8+qq9isxHoBZe3CgIriKOZMmTwWWo
 1usRdNUrA1kilqv2RsU2SjJBlq1wXw1P1/X9THyJQg55hDDruFiUhZYHmksQgff7nA
 6DbKHzCNTr0Mc4bNQHP1h9yefTwypLAHGBHCeUr6SM/ImDTUhUg9LpMH9sRoKHHUdu
 Kvg3VUBqDYtRTSjhlBF/Ivfy7cM2SzLGCRO4pZNMj89MbaTx41xPr8RRrg2YYmS+kV
 bFY11l4ikfs8Q==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4QBpQl3cWmz6txG;
 Thu,  4 May 2023 11:28:31 +0200 (CEST)
From: Mekeor Melire <mekeor@HIDDEN>
To: bug-guix@HIDDEN
Subject: GCC package lacks librt.so (and instead only provides versioned
 librt.so.1)
Date: Thu, 04 May 2023 09:16:17 +0000
Message-ID: <87ttwscuow.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; format=flowed
Received-SPF: pass client-ip=185.67.36.66; envelope-from=mekeor@HIDDEN;
 helo=mout02.posteo.de
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: Josselin Poiret <dev@HIDDEN>,
 Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

The "gcc" package (as well as the "gcc-toolchain" package) (since 
version 12?) lacks the librt.so file which some stuff links to.

As a consequence, in bug#63012, Josselin Poiret (CC) had to patch 
Zig to not link to that file. Another consequence is that I had to 
install gcc-toolchain:static in order to make GHC compile XMonad.

On #guix IRC channel, Josselin Poiret stated that we should 
include an empty librt.a in the output of the "gcc" package. And 
Ludo (CC) suggested to temporarily include that file only in 
gcc-toolchain, in order to avoid world rebuild.

Here's the full relevant IRC log:

--8<---------------cut here---------------start------------->8---
2023-05-04 09:49:54 mekeor: bjc: for me, gcc-toolchain@12 is 
shipped with librt.so.1 which is present in my ~/.guix-profile/lib 
folder which is listed in my $LIBRARY_PATH variable. still, ghc 
can't find it :/
2023-05-04 09:56:15 jpoiret: mekeor: that's because ghc and others 
look for librt.so, not librt.so.1
2023-05-04 09:56:31 jpoiret: we forgot to include an empty librt.a 
in the out output of gcc unfortunately
2023-05-04 09:56:59 jpoiret: you can add gcc-toolchain:static for 
now
2023-05-04 09:57:04 mekeor: jpoiret: is there a workaround? :) 
also, is there a patch already
2023-05-04 09:57:08 mekeor: oh cool
2023-05-04 09:57:12 jpoiret: I don't think so
2023-05-04 09:57:50 jpoiret: basically librt.so.1 is empty now, 
since everything is provided by libc
2023-05-04 09:59:43 mekeor: the "static" output fixes my problem. 
thank you very much, jpoiret!
2023-05-04 09:59:47 jpoiret: the problem is that it'll require a 
world rebuild so it's not an easy change to make now. But we'll 
probably have to do it anyway
2023-05-04 10:00:01 jpoiret: might as well batch some other 
important changes like updating the glibc again
2023-05-04 10:00:08 jpoiret: just to break everything again :)
2023-05-04 10:00:41 civodul: jpoiret: we could add an empty 
librt.a in gcc-toolchain, rather than gcc?
2023-05-04 10:01:00 civodul: that would address most practical 
issues, no?
2023-05-04 10:01:26 jpoiret: ah, that's right :)
2023-05-04 10:01:55 jpoiret: but still, it's probably a good idea 
to have it in gcc, zig wanted it and I had to patch out -librt
2023-05-04 10:01:59 jpoiret: -lrt *
2023-05-04 10:02:54 civodul: yes, that'd be the right fix, but in 
the meantime we could have the easy fix :-)
--8<---------------cut here---------------end--------------->8---




Acknowledgement sent to Mekeor Melire <mekeor@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#63258; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 26 May 2023 15:30:02 UTC

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