diff mbox series

[bug#48275] gnu: ocaml: Depend on libiberty.

Message ID 20210507122218.25615-1-ludo@gnu.org
State Accepted
Headers show
Series [bug#48275] gnu: ocaml: Depend on libiberty. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ludovic Courtès May 7, 2021, 12:22 p.m. UTC
From: Ludovic Courtès <ludovic.courtes@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@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@4.09’, this change is OK
for ‘master’.

Thoughts?

Ludo’.

Comments

Julien Lepiller May 7, 2021, 12:52 p.m. UTC | #1
LGTM, thanks !

Le 7 mai 2021 08:22:18 GMT-04:00, "Ludovic Courtès" <ludo@gnu.org> a écrit :
>From: Ludovic Courtès <ludovic.courtes@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@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@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
Ludovic Courtès May 9, 2021, 9:53 p.m. UTC | #2
Julien Lepiller <julien@lepiller.eu> skribis:

> LGTM, thanks !

Pushed as 28ae35850357acfda42d3c82c29df37149a6b8d0, thank you.

Ludo’.
diff mbox series

Patch

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