GNU bug report logs - #48275
[PATCH] gnu: ocaml: Depend on libiberty.

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Fri, 7 May 2021 12:23:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: 48275 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>, Julien Lepiller <julien <at> lepiller.eu>
Subject: [bug#48275] [PATCH] gnu: ocaml: Depend on libiberty.
Date: Fri,  7 May 2021 14:22:18 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Currently gcc:lib does not include libiberty so this change restores the
initial intent.

* gnu/packages/ocaml.scm (ocaml-4.11)[inputs]: Replace "gcc:lib" by
"libiberty".
---
 gnu/packages/ocaml.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Hi there!

I noticed that “guix graph ocaml” looked weird; this change clarifies
the original intent.  In fact, the addition of gcc:lib was useless AFAICS:

--8<---------------cut here---------------start------------->8---
$ guix build -e '(@@ (gnu packages commencement) gcc-final)'
/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0
$ ls /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib/lib/*ibert*
ls: ne eblas atingi '/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib/lib/*ibert*': Dosiero aŭ dosierujo ne ekzistas
--8<---------------cut here---------------end--------------->8---

With this change I see that libiberty is indeed used while building
ocaml <at> 4.11:

--8<---------------cut here---------------start------------->8---
../boot/ocamlrun ../boot/ocamlc -g -nostdlib -I ../boot -use-prims ../runtime/primitives -I .. -c -absname -w +a-4-9-41-42-44-45-48 -strict-sequence -warn-error A -principal -safe-string -strict-formats -bin-annot -I ../utils -I ../parsing -I ../typing -I ../bytecomp -I ../middle_end -I ../middle_end/closure -I ../middle_end/flambda -I ../middle_end/flambda/base_types -I ../driver -I ../toplevel -I ../file_formats -I ../lambda - opnames.ml
gcc  -O2 -fno-strict-aliasing -fwrapv -Wall -Wdeclaration-after-statement -fno-common -fexcess-precision=standard -fno-tree-vrp -ffunction-sections -o objinfo_helper objinfo_helper.o -lbfd -ldl  -liberty -lz
--8<---------------cut here---------------end--------------->8---

There’s no ‘-liberty’ in the build log of 4.09 though.

According to ‘guix refresh -l ocaml ocaml <at> 4.09’, this change is OK
for ‘master’.

Thoughts?

Ludo’.

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 427ea38ccc..272f5bf268 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -200,8 +200,7 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("libx11" ,libx11)
-       ;; For libiberty, needed for objdump support.
-       ("gcc:lib" ,(canonical-package gcc) "lib")
+       ("libiberty" ,libiberty)               ;needed for objdump support
        ("zlib" ,zlib)))                       ;also needed for objdump support
     (arguments
      `(#:phases
-- 
2.31.1





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

Previous Next


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