all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* dune-based package design trouble
@ 2023-09-20  7:52 Erwan Jahier
  2023-09-21  5:57 ` Julien Lepiller
  0 siblings, 1 reply; 4+ messages in thread
From: Erwan Jahier @ 2023-09-20  7:52 UTC (permalink / raw
  To: help-guix

Hello,

I am a newguix tring to package some of his software.

Since I already  have opam packages, I used =guix  import opam=, that
helped a  little. Of course,  my packages have dependancies,  and not
all of them exist in the main guix repo.

I have  able to build  some of them  (ocaml-junit, ocaml-junit-alcotest,
ocaml-yaml,  ocaml-functory,  ocaml-conf-graphviz),   but  I  am  having
trouble with  ocaml-mlgmpidl, for  which the build  phase isn't  able to
(ocaml-)find gmp (see below).  So I've tried to package ocaml-gmp, but I
am stuck again.

The error  "/bin/sh: bad interpreter:  No such file or  directory" is
raised  during the  build phase  that  runs a  =configure= script  that
refers to a non existing /bin/sh.

The  problem  is that  the  =patch-source-shebangs=  phase cannot  be
applied, as this  =configure= script is generated and  run inside the
build phase (via =dune build=).

I feel like it might be a dune expert question, but I try my luck here.

Erwan.

#+begin_src scheme
(define-public ocaml-gmp
(package
  (name "ocaml-gmp")
  (version "6.2.1-4")
  (source
   (origin
     (method url-fetch)
     (uri "https://github.com/mirage/ocaml-gmp/releases/download/6.2.1-4/gmp-6.2.1-4.tbz")
     (sha256 (base32 "0w9b4c180wfha6z7clk51kxs3fdq4z2vb9vdgfaa3azp2bxad3yc"))))
  (build-system dune-build-system)
  (propagated-inputs (list m4))
  (arguments
     `(#:phases
       (modify-phases %standard-phases
         (replace 'build (lambda _ (invoke "dune" "build" "-p" "gmp") #t))
         )))
  (home-page "https://github.com/mirage/ocaml-gmp")
  (synopsis "The GNU Multiple Precision Arithmetic Library")
  (description "Dune packaging of the GMP library, suitable for cross-compilation.")
  (license license:lgpl3))
)

(define-public ocaml-mlgmpidl
  (package
    (name "ocaml-mlgmpidl")
    (version "1.2.15")
    (source (origin
              (method url-fetch)
              (uri "https://github.com/nberth/mlgmpidl/archive/1.2.15.tar.gz")
              (sha256 (base32 "0hcaan4n5li0rnr55ilgxgd8w00lza9an6w4yj7v66dcb7plbasj"))))
    (build-system dune-build-system)
    (arguments
     `(#:tests? #f;
        #:phases
        (modify-phases %standard-phases
          (add-before 'build  'update-deprecated
            (lambda* (#:key outputs #:allow-other-keys)
              ((invoke "./configure" "--prefix" (assoc-ref outputs "out"))
               ))))))
    (inputs (list perl ocaml-findlib camlidl gmp mpfr ocaml-bigarray-compat))
    (home-page "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/")
    (synopsis "OCaml interface to the GMP library")
    (description #f)
    (license license:lgpl2.1)) ; with linking exception
)
#+end_src

#+begin_src sh
$ ./pre-inst-env guix build ocaml-gmp --keep-failed
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /home/jahier/local/guix/gnu/packages/ocaml.go
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /gnu/store/a2pk3n91qybpkhghg1zr4260xwz21vqh-profile/lib/guile/3.0/site-ccache/gnu/packages/ocaml.go
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /home/jahier/.cache/guile/ccache/3.0-LE-8-4.6/home/jahier/local/guix/gnu/packages/ocaml.scm.go
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivation will be built:
  /gnu/store/j26ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv
building /gnu/store/j26ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv...
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/bin:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/bin:/gnu/store/sxx22f98vfbavcqmdksm6as8fvskpxiw-tar-1.34/bin:/gnu/store/x24bm49ag5dvki72mjdz195bfb89nrnb-gzip-1.12/bin:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/bin:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/bin:/gnu/store/zmcf5kpqiighkbh7wslf91qdjwj06yr1-diffutils-3.8/bin:/gnu/store/210yfax18r2g2inxrml9435ikhfcca6m-patch-2.7.6/bin:/gnu/store/c8jyph2lxw0m9na34fg8h70n4nnnz7is-findutils-4.9.0/bin:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/bin:/gnu/store/xxcfsimvxz7z4dj593gnqbkzc6picwzq-sed-4.8/bin:/gnu/store/yrv5f70mn83a876b78i5s79dd2hsh0zf-grep-3.8/bin:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/bin:/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/bin:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/bin:/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin:/gnu/store/na1dpbbcxjaa3n8wkwrfpch476f90hlf-ld-wrapper-0/bin:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/sbin:/gnu/store/2awzcd1jdd8h65ahdn62ydllrs2s2pk1-m4-1.4.19/bin:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/bin:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/bin:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/bin'
environment variable `OCAMLPATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib/ocaml:/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib/ocaml/site-lib:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/lib/ocaml:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib/ocaml:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib/ocaml/site-lib:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib/ocaml:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib/ocaml/site-lib:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib/ocaml:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib/ocaml/site-lib:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib/ocaml:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib/ocaml/site-lib'
environment variable `CAML_LD_LIBRARY_PATH' unset
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include/c++:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/lib:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/lib:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/lib:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/lib:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/lib:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/lib:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib:/gnu/store/l0yryi5jsa1grnvw01c9nkz9c81cv224-glibc-2.35-static/lib:/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
gmp-6.2.1-4/.github
gmp-6.2.1-4/.github/workflows
gmp-6.2.1-4/.github/workflows/CI.yml
gmp-6.2.1-4/.gitignore
gmp-6.2.1-4/.ocamlformat
gmp-6.2.1-4/CHANGES.md
gmp-6.2.1-4/COPYING
gmp-6.2.1-4/COPYING.LESSERv3
gmp-6.2.1-4/README.md
gmp-6.2.1-4/dune-project
gmp-6.2.1-4/dune-workspace.solo5
gmp-6.2.1-4/gmp.opam
gmp-6.2.1-4/src
gmp-6.2.1-4/src/build.sh.in
gmp-6.2.1-4/src/dune
gmp-6.2.1-4/src/gmp-6.2.1.tar.xz
gmp-6.2.1-4/test
gmp-6.2.1-4/test/dummy.ml
gmp-6.2.1-4/test/dummy_stubs.c
gmp-6.2.1-4/test/dune
gmp-6.2.1-4/test/test.expected
gmp-6.2.1-4/test/test.ml
phase `unpack' succeeded after 0.2 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
patch-shebang: ./src/build.sh.in: changing `/bin/sh' to `/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/sh'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `ocaml-findlib-environment'
phase `ocaml-findlib-environment' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
File "src/dune", line 14, characters 0-319:
14 | (rule
15 |  (targets gmp.h libgmp.a dllgmp.so)
16 |  (deps gmp-6.2.1.tar.xz build.sh)
17 |  (action
18 |   (with-stdout-to
19 |    build.log
20 |    (run sh ./build.sh "%{ocaml-config:c_compiler}" "%{ocaml-config:host}"
21 |      "%{ocaml-config:ocamlc_cflags}"
22 |      %{ocaml-config:supports_shared_libraries}
23 |      "%{ocaml-config:native_c_libraries}"))))
./build.sh: ./configure: /bin/sh: bad interpreter: No such file or directory
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "dune" arguments: ("build") exit-status: 1 term-signal: #f stop-signal: #f>
phase `build' failed after 0.3 seconds
command "dune" "build" failed with status 1
note: keeping build directory `/tmp/guix-build-ocaml-gmp-6.2.1-4.drv-6'
builder for `/gnu/store/j26ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv' failed with exit code 1
build of /gnu/store/j26ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv failed
View build log at '/var/log/guix/drvs/j2/6ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv.bz2'.
guix build: error: build of `/gnu/store/j26ah7gyimydbw4zi30anbhfcqm7vz8h-ocaml-gmp-6.2.1-4.drv' failed

$ ./pre-inst-env guix build ocaml-mlgmpidl --keep-failed
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /home/jahier/local/guix/gnu/packages/ocaml.go
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /gnu/store/a2pk3n91qybpkhghg1zr4260xwz21vqh-profile/lib/guile/3.0/site-ccache/gnu/packages/ocaml.go
;;; note: source file /home/jahier/local/guix/gnu/packages/ocaml.scm
;;;       newer than compiled /home/jahier/.cache/guile/ccache/3.0-LE-8-4.6/home/jahier/local/guix/gnu/packages/ocaml.scm.go
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivation will be built:
  /gnu/store/2vss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv
building /gnu/store/2vss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv...
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/bin:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/bin:/gnu/store/sxx22f98vfbavcqmdksm6as8fvskpxiw-tar-1.34/bin:/gnu/store/x24bm49ag5dvki72mjdz195bfb89nrnb-gzip-1.12/bin:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/bin:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/bin:/gnu/store/zmcf5kpqiighkbh7wslf91qdjwj06yr1-diffutils-3.8/bin:/gnu/store/210yfax18r2g2inxrml9435ikhfcca6m-patch-2.7.6/bin:/gnu/store/c8jyph2lxw0m9na34fg8h70n4nnnz7is-findutils-4.9.0/bin:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/bin:/gnu/store/xxcfsimvxz7z4dj593gnqbkzc6picwzq-sed-4.8/bin:/gnu/store/yrv5f70mn83a876b78i5s79dd2hsh0zf-grep-3.8/bin:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/bin:/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/bin:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/bin:/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin:/gnu/store/na1dpbbcxjaa3n8wkwrfpch476f90hlf-ld-wrapper-0/bin:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/sbin:/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0/bin:/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/bin:/gnu/store/b29gw382cvsk6963xhq9aj84rlwmhn8m-ocaml-bigarray-compat-1.1.0/bin:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/bin:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/bin:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/bin'
environment variable `OCAMLPATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib/ocaml:/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib/ocaml/site-lib:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/lib/ocaml:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib/ocaml:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib/ocaml/site-lib:/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib/ocaml:/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib/ocaml/site-lib:/gnu/store/b29gw382cvsk6963xhq9aj84rlwmhn8m-ocaml-bigarray-compat-1.1.0/lib/ocaml:/gnu/store/b29gw382cvsk6963xhq9aj84rlwmhn8m-ocaml-bigarray-compat-1.1.0/lib/ocaml/site-lib:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib/ocaml:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib/ocaml/site-lib:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib/ocaml:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib/ocaml/site-lib:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib/ocaml:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib/ocaml/site-lib'
environment variable `CAML_LD_LIBRARY_PATH' unset
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/ib2n2vzqpchc3bhh9i712w5sq9zapn8d-gmp-6.2.1/include:/gnu/store/cs3hw1wnxgijjzsd61whc8ar3qy9wjd6-mpfr-4.2.0/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include/c++:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/ib2n2vzqpchc3bhh9i712w5sq9zapn8d-gmp-6.2.1/include:/gnu/store/cs3hw1wnxgijjzsd61whc8ar3qy9wjd6-mpfr-4.2.0/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/y2mcznccgvcdpc5bl8z0b07nrzccd1na-dune-3.6.1/lib:/gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/lib:/gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/lib:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/lib:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/lib:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/lib:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/lib:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/lib:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib:/gnu/store/l0yryi5jsa1grnvw01c9nkz9c81cv224-glibc-2.35-static/lib:/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib:/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0/lib:/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib:/gnu/store/ib2n2vzqpchc3bhh9i712w5sq9zapn8d-gmp-6.2.1/lib:/gnu/store/cs3hw1wnxgijjzsd61whc8ar3qy9wjd6-mpfr-4.2.0/lib:/gnu/store/b29gw382cvsk6963xhq9aj84rlwmhn8m-ocaml-bigarray-compat-1.1.0/lib:/gnu/store/6fq5x7m49a3m1d66dawk36k0qcmy6i27-dune-configurator-3.6.1/lib:/gnu/store/spdkficsp4fychyxfplyp8qli0hq47pc-ocaml-csexp-1.5.1/lib:/gnu/store/inkky9cq6fxbv7vsibwix0z8svkxkwmj-ocaml-result-1.5/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale'
environment variable `PERL5LIB' set to `/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0/lib/perl5/site_perl'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
mlgmpidl-1.2.15/
mlgmpidl-1.2.15/.gitignore
mlgmpidl-1.2.15/COPYING
mlgmpidl-1.2.15/Changes
mlgmpidl-1.2.15/Makefile
mlgmpidl-1.2.15/Makefile.config.in
mlgmpidl-1.2.15/Makefile.config.model
mlgmpidl-1.2.15/Makefile.depend
mlgmpidl-1.2.15/README
mlgmpidl-1.2.15/configure
mlgmpidl-1.2.15/gmp_caml.c
mlgmpidl-1.2.15/gmp_caml.h
mlgmpidl-1.2.15/gmp_random.idl
mlgmpidl-1.2.15/index.tex
mlgmpidl-1.2.15/introduction.mli
mlgmpidl-1.2.15/mlgmpidl.tex
mlgmpidl-1.2.15/mpf.idl
mlgmpidl-1.2.15/mpfr.idl
mlgmpidl-1.2.15/mpfrf.ml
mlgmpidl-1.2.15/mpfrf.mli
mlgmpidl-1.2.15/mpq.idl
mlgmpidl-1.2.15/mpqf.ml
mlgmpidl-1.2.15/mpqf.mli
mlgmpidl-1.2.15/mpz.idl
mlgmpidl-1.2.15/mpzf.ml
mlgmpidl-1.2.15/mpzf.mli
mlgmpidl-1.2.15/opam/
mlgmpidl-1.2.15/opam/opam
mlgmpidl-1.2.15/perlscript_c.pl
mlgmpidl-1.2.15/perlscript_caml.pl
mlgmpidl-1.2.15/session.ml
phase `unpack' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
patch-shebang: ./configure: changing `/bin/sh' to `/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/sh'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `ocaml-findlib-environment'
phase `ocaml-findlib-environment' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `update-deprecated'
checking compilation with cc : not working
checking compilation with gcc : working
checking compilation with gcc -Wcast-qual: working
checking compilation with gcc -Wswitch: working
checking compilation with gcc -Wall: working
checking compilation with gcc -Wextra: working
checking compilation with gcc -Wundef: working
checking compilation with gcc -Wcast-align: working
checking compilation with gcc -Wno-unused: working
checking compilation with gcc -Wno-unused-parameter: working
checking compilation with gcc -Wno-unused-function: working
checking compilation with gcc -fPIC: working
checking compilation with gcc -Werror-implicit-function-declaration: working
checking compilation with gcc -Wbad-function-cast: working
checking compilation with gcc -Wstrict-prototypes: working
checking compilation with gcc -std=c99: working
binary ar: found in /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin
binary ranlib: found in /gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin
binary sed: found in /gnu/store/xxcfsimvxz7z4dj593gnqbkzc6picwzq-sed-4.8/bin
binary grep: found in /gnu/store/yrv5f70mn83a876b78i5s79dd2hsh0zf-grep-3.8/bin
binary perl: found in /gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0/bin
binary install: found in /gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/bin
looking for gmp without prefix
include gmp.h: found
library gmp: found
library gmp found without prefix
looking for mpfr without prefix
include mpfr.h: found
library mpfr: found
library mpfr found without prefix
library mpfr major version: 4
binary ocamlc.opt: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary ocamlopt.opt: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary ocamldep: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary ocamldoc: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary ocamlmktop: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary ocamlmklib: found in /gnu/store/dv3v554glm914qaf1sypwa3bgv5x3g43-ocaml-4.14.0/bin
binary camlidl: found in /gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/bin
binary ocamlfind: found in /gnu/store/vcbmrxf417r1mbazx145y9fmbx1bbk4b-ocaml-findlib-1.9.5/bin
ocamlfind: Package `gmp' not found
include caml/mlvalues.h: found
include caml/camlidlruntime.h: not found
OCaml not found
error: in phase 'update-deprecated': uncaught exception:
%exception #<&invoke-error program: "./configure" arguments: ("--prefix" "/gnu/store/v4c02g0s0r7n4kkl0rvkkf3xnrhqriia-ocaml-mlgmpidl-1.2.15") exit-status: 1 term-signal: #f stop-signal: #f>
phase `update-deprecated' failed after 1.1 seconds
command "./configure" "--prefix" "/gnu/store/v4c02g0s0r7n4kkl0rvkkf3xnrhqriia-ocaml-mlgmpidl-1.2.15" failed with status 1
note: keeping build directory `/tmp/guix-build-ocaml-mlgmpidl-1.2.15.drv-31'
builder for `/gnu/store/2vss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv' failed with exit code 1
build of /gnu/store/2vss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv failed
View build log at '/var/log/guix/drvs/2v/ss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv.bz2'.
guix build: error: build of `/gnu/store/2vss9ph7rgvqamqjd32y1qs1qh72myrl-ocaml-mlgmpidl-1.2.15.drv' failed
$
#+end_src


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: dune-based package design trouble
  2023-09-20  7:52 dune-based package design trouble Erwan Jahier
@ 2023-09-21  5:57 ` Julien Lepiller
  2023-09-21  6:45   ` Erwan Jahier
  2023-09-21  9:58   ` Erwan Jahier
  0 siblings, 2 replies; 4+ messages in thread
From: Julien Lepiller @ 2023-09-21  5:57 UTC (permalink / raw
  To: Erwan Jahier; +Cc: help-guix

Le Wed, 20 Sep 2023 09:52:03 +0200,
Erwan Jahier <erwan.jahier@univ-grenoble-alpes.fr> a écrit :

> Hello,
> 
> I am a newguix tring to package some of his software.
> 
> Since I already  have opam packages, I used =guix  import opam=, that
> helped a  little. Of course,  my packages have dependancies,  and not
> all of them exist in the main guix repo.
> 
> I have  able to build  some of them  (ocaml-junit,
> ocaml-junit-alcotest, ocaml-yaml,  ocaml-functory,
> ocaml-conf-graphviz),   but  I  am  having trouble with
> ocaml-mlgmpidl, for  which the build  phase isn't  able to
> (ocaml-)find gmp (see below).  So I've tried to package ocaml-gmp,
> but I am stuck again.
> 
> The error  "/bin/sh: bad interpreter:  No such file or  directory" is
> raised  during the  build phase  that  runs a  =configure= script
> that refers to a non existing /bin/sh.
> 
> The  problem  is that  the  =patch-source-shebangs=  phase cannot  be
> applied, as this  =configure= script is generated and  run inside the
> build phase (via =dune build=).
> 
> I feel like it might be a dune expert question, but I try my luck
> here.
> 
> Erwan.
> 

It's not very clean, but this works:

(define-public ocaml-mlgmpidl
  (package
    (name "ocaml-mlgmpidl")
    (version "1.2.15")
    (source (origin
              (method url-fetch)
              (uri
                "https://github.com/nberth/mlgmpidl/archive/1.2.15.tar.gz")
              (sha256
                (base32
                  "0hcaan4n5li0rnr55ilgxgd8w00lza9an6w4yj7v66dcb7plbasj"))))
       (build-system ocaml-build-system)
    (arguments
     `(#:tests? #f;
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (substitute* "configure"
                ((".*query gmp.*") "echo \"$camlidl_prefix\n\" \n")
                (("camlidl_prefix=`\\$ocamlfind.*")
                 (string-append "camlidl_prefix=\"" (assoc-ref inputs
"camlidl") "/lib/ocaml/site-lib/camlidl\"\n")))
              (invoke "./configure" "--prefix" (assoc-ref outputs
"out")))))))
    (inputs (list perl ocaml-findlib camlidl gmp mpfr
ocaml-bigarray-compat))
    (home-page
      "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/")
    (synopsis "OCaml interface to the GMP library")
    (description #f)
    (license license:lgpl2.1)) ; with linking exception
)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: dune-based package design trouble
  2023-09-21  5:57 ` Julien Lepiller
@ 2023-09-21  6:45   ` Erwan Jahier
  2023-09-21  9:58   ` Erwan Jahier
  1 sibling, 0 replies; 4+ messages in thread
From: Erwan Jahier @ 2023-09-21  6:45 UTC (permalink / raw
  To: Julien Lepiller; +Cc: help-guix


Julien Lepiller <julien@lepiller.eu> writes:

> It's not very clean, but this works:

Indeed it works ! Thanks a lot Julien.

> (define-public ocaml-mlgmpidl
>   (package
>     (name "ocaml-mlgmpidl")
>     (version "1.2.15")
>     (source (origin
>               (method url-fetch)
>               (uri
>                 "https://github.com/nberth/mlgmpidl/archive/1.2.15.tar.gz")
>               (sha256
>                 (base32
>                   "0hcaan4n5li0rnr55ilgxgd8w00lza9an6w4yj7v66dcb7plbasj"))))
>        (build-system ocaml-build-system)
>     (arguments
>      `(#:tests? #f;
>         #:phases
>         (modify-phases %standard-phases
>           (replace 'configure
>             (lambda* (#:key outputs inputs #:allow-other-keys)
>               (substitute* "configure"
>                 ((".*query gmp.*") "echo \"$camlidl_prefix\n\" \n")
>                 (("camlidl_prefix=`\\$ocamlfind.*")
>                  (string-append "camlidl_prefix=\"" (assoc-ref inputs
> "camlidl") "/lib/ocaml/site-lib/camlidl\"\n")))
>               (invoke "./configure" "--prefix" (assoc-ref outputs
> "out")))))))
>     (inputs (list perl ocaml-findlib camlidl gmp mpfr
> ocaml-bigarray-compat))
>     (home-page
>       "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/")
>     (synopsis "OCaml interface to the GMP library")
>     (description #f)
>     (license license:lgpl2.1)) ; with linking exception
> )


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: dune-based package design trouble
  2023-09-21  5:57 ` Julien Lepiller
  2023-09-21  6:45   ` Erwan Jahier
@ 2023-09-21  9:58   ` Erwan Jahier
  1 sibling, 0 replies; 4+ messages in thread
From: Erwan Jahier @ 2023-09-21  9:58 UTC (permalink / raw
  To: Julien Lepiller; +Cc: help-guix


> It's not very clean, but this works:

Indeed it  would be  better to  make ocamlfind do  its job  of correctly
finding  camlidl (and  this  is actually  biting  for another  package),
probably by fixing the camlidl recipe I guess.

More precisely

 ocamfind query camlidl

returns the wrong path. But

  ocamfind prinfconf path

returns

...
/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib/ocaml
/gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib/ocaml/site-lib
...

which looks correct. The file
  /gnu/store/wazczxixf2s0aakw586gh1pk8s3yc74d-camlidl-1.09/lib/ocaml/site-lib/camlidl/META
exists.

So AFAICT, camlidl install is correct wrt ocamlfind. Any idea of what is
happening?


> (define-public ocaml-mlgmpidl
>   (package
>     (name "ocaml-mlgmpidl")
>     (version "1.2.15")
>     (source (origin
>               (method url-fetch)
>               (uri
>                 "https://github.com/nberth/mlgmpidl/archive/1.2.15.tar.gz")
>               (sha256
>                 (base32
>                   "0hcaan4n5li0rnr55ilgxgd8w00lza9an6w4yj7v66dcb7plbasj"))))
>        (build-system ocaml-build-system)
>     (arguments
>      `(#:tests? #f;
>         #:phases
>         (modify-phases %standard-phases
>           (replace 'configure
>             (lambda* (#:key outputs inputs #:allow-other-keys)
>               (substitute* "configure"
>                 ((".*query gmp.*") "echo \"$camlidl_prefix\n\" \n")
>                 (("camlidl_prefix=`\\$ocamlfind.*")
>                  (string-append "camlidl_prefix=\"" (assoc-ref inputs
> "camlidl") "/lib/ocaml/site-lib/camlidl\"\n")))
>               (invoke "./configure" "--prefix" (assoc-ref outputs
> "out")))))))
>     (inputs (list perl ocaml-findlib camlidl gmp mpfr
> ocaml-bigarray-compat))
>     (home-page
>       "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/")
>     (synopsis "OCaml interface to the GMP library")
>     (description #f)
>     (license license:lgpl2.1)) ; with linking exception
> )


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-09-21 10:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-20  7:52 dune-based package design trouble Erwan Jahier
2023-09-21  5:57 ` Julien Lepiller
2023-09-21  6:45   ` Erwan Jahier
2023-09-21  9:58   ` Erwan Jahier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.