guix: build-system: gnu: Avoid warnings from "libtool finish"

  • Done
  • quality assurance status badge
Details
2 participants
  • Dave Love
  • Ludovic Courtès
Owner
unassigned
Submitted by
Dave Love
Severity
normal
D
D
Dave Love wrote on 27 Jul 2017 16:40
(address . guix-patches@gnu.org)
874ltyhrj2.fsf@i-ulialbion.it.manchester.ac.uk
The "ldconfig not found" warnings confused me, and caused a bug report
previously.
From d6f42badc39679dd36ea8f582140a7d63316d101 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Thu, 27 Jul 2017 15:35:53 +0100
Subject: [PATCH] guix: build-system: gnu: Avoid warnings from "libtool
finish".

* guix/build/gnu-build-system.scm (configure): Avoid warnings from
libtool invoking ldconfig.
---
guix/build/gnu-build-system.scm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 1786e2e3c..508699497 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -271,9 +271,15 @@ makefiles."
;; Call `configure' with a relative path. Otherwise, GCC's build system
;; (for instance) records absolute source file names, which typically
;; contain the hash part of the `.drv' file, leading to a reference leak.
- (zero? (apply system* bash
- (string-append srcdir "/configure")
- flags))))
+ (and (zero? (apply system* bash
+ (string-append srcdir "/configure")
+ flags))
+ ;; Avoid warnings about from "libtool finish" about not finding
+ ;; ldconfig.
+ (if (file-exists? "libtool")
+ (begin (substitute* "libtool" (("ldconfig") ":"))
+ #t)
+ #t))))
(define* (build #:key (make-flags '()) (parallel-build? #t)
#:allow-other-keys)
--
2.11.0
L
L
Ludovic Courtès wrote on 31 Jul 2017 17:28
(name . Dave Love)(address . fx@gnu.org)(address . 27848@debbugs.gnu.org)
87k22o39s8.fsf@gnu.org
Dave Love <fx@gnu.org> skribis:

Toggle quote (20 lines)
> --- a/guix/build/gnu-build-system.scm
> +++ b/guix/build/gnu-build-system.scm
> @@ -271,9 +271,15 @@ makefiles."
> ;; Call `configure' with a relative path. Otherwise, GCC's build system
> ;; (for instance) records absolute source file names, which typically
> ;; contain the hash part of the `.drv' file, leading to a reference leak.
> - (zero? (apply system* bash
> - (string-append srcdir "/configure")
> - flags))))
> + (and (zero? (apply system* bash
> + (string-append srcdir "/configure")
> + flags))
> + ;; Avoid warnings about from "libtool finish" about not finding
> + ;; ldconfig.
> + (if (file-exists? "libtool")
> + (begin (substitute* "libtool" (("ldconfig") ":"))
> + #t)
> + #t))))
>

I’m not too keen on this approach, in large part because I’ve got used
to the “ldconfig not found” messages, but also because a simple change
like this can create more problems than what it solves: packages where
the “libtool” script lives in a different directory, packages where
“libtool” is a different thing, packages where it’s read-only or where
it’s a directory, etc.

Since this is a rebuild-the-world change, we have to make sure it’s
really worth it.

WDYT?

Thanks,
Ludo’.
D
D
Dave Love wrote on 31 Jul 2017 20:17
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 27848@debbugs.gnu.org)
87k22obhdf.fsf@i-ulialbion.it.manchester.ac.uk
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (3 lines)
> I’m not too keen on this approach, in large part because I’ve got used
> to the “ldconfig not found” messages,

It's OK if you know, but I assume it's common for newbies to see it and
waste time, as at least two of us did.

Toggle quote (6 lines)
> but also because a simple change
> like this can create more problems than what it solves: packages where
> the “libtool” script lives in a different directory, packages where
> “libtool” is a different thing, packages where it’s read-only or where
> it’s a directory, etc.

OK, but I thought the common case of it at top level was worth fixing.
I guess you could check it's really a libtool script before editing it.

However, is there a good reason not to provide a dummy ldconfig which
does nothing, or prints a message about not doing anything?
L
L
Ludovic Courtès wrote on 31 Jul 2017 21:26
(name . Dave Love)(address . fx@gnu.org)(address . 27848@debbugs.gnu.org)
87k22ol86p.fsf@gnu.org
Dave Love <fx@gnu.org> skribis:

Toggle quote (8 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> I’m not too keen on this approach, in large part because I’ve got used
>> to the “ldconfig not found” messages,
>
> It's OK if you know, but I assume it's common for newbies to see it and
> waste time, as at least two of us did.

Yeah, I see.

Toggle quote (12 lines)
>> but also because a simple change
>> like this can create more problems than what it solves: packages where
>> the “libtool” script lives in a different directory, packages where
>> “libtool” is a different thing, packages where it’s read-only or where
>> it’s a directory, etc.
>
> OK, but I thought the common case of it at top level was worth fixing.
> I guess you could check it's really a libtool script before editing it.
>
> However, is there a good reason not to provide a dummy ldconfig which
> does nothing, or prints a message about not doing anything?

I’d think it’s safer to just not provide it at all.

Ludo’.
L
L
Ludovic Courtès wrote on 4 Sep 2017 15:26
control message for bug #27848
(address . control@debbugs.gnu.org)
87k21e1to9.fsf@gnu.org
tags 27848 wontfix
close 27848
?
Your comment

This issue is archived.

To comment on this conversation send an email to 27848@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 27848
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch