Le 6 juin 2019 08:06:42 GMT+02:00, Julien Lepiller <[email protected]> a écrit : >Le 5 juin 2019 22:21:37 GMT+02:00, Brett Gilio <[email protected]> a >écrit : >>Hi all, >> >>I like to make meta-packages that I can pass to `guix environment >>--ad-hoc` for development. I have the following meta package for ocaml >> >>(define-public meta-ocaml >> (package >> (inherit %meta-base) >> (name "meta-ocaml") >> (propagated-inputs >> `(("meta-emacs" ,meta-emacs) >> ("darcs" ,darcs) >> ("dune" ,dune) >> ("emacs-tuareg" ,emacs-tuareg) >> ("gcc-toolchain" ,gcc-toolchain) >> ("m4" ,m4) >> ("make" ,gnu-make) >> ("mercurial" ,mercurial) >> ("ocaml" ,ocaml) >> ("ocaml-base" ,ocaml-base) >> ("ocaml-core" ,ocaml-core) >> ("ocaml-ctypes" ,ocaml-ctypes) >> ("ocaml-findlib" ,ocaml-findlib) >> ("ocaml-merlin" ,ocaml-merlin) >> ("ocaml-ounit" ,ocaml-ounit) >> ("oocaml-parsexp" >> ,ocaml-parsexp) >> ("ocaml-utop" ,ocaml-utop) >> ("opam" ,opam) >> ("rsync" ,rsync))))) >> >> >>When trying to use that in an environment, I am getting the following >>backtrace claiming there is a collision that I assume is not getting >>resolved in its usual fashion. >> >>Backtrace: >> 6 (primitive-load >"/gnu/store/k45l4ph58xakp3f52kmridr9wyc…") >>In guix/build/profiles.scm: >> 157:2 5 (build-profile "/gnu/store/c2khaalrpy7cdyr8k4lawgqnbzs…" >…) >>In unknown file: >> 4 (hash-for-each #<procedure 105c180 at guix/build/union…> >…) >> 3 (hash-for-each #<procedure 10b3900 at guix/build/union…> >…) >> 2 (hash-for-each #<procedure 110b180 at guix/build/union…> >…) >> 1 (hash-for-each #<procedure 14368c0 at guix/build/union…> >…) >> 0 (scm-error misc-error #f "~A ~S" ("union-build: col…" …) >…) >> >>ERROR: In procedure scm-error: >>union-build: collision between file and directories ((files >>("/gnu/store/h1w5b2l1wny94cnfqm46w12nm3w8wz2k-ocaml-num-1.1/lib/ocaml/site-lib/stublibs")) >>(dirs >>("/gnu/store/93lp6k3d58dfc8gvx9zd70szapsb5kv6-ocaml-base-0.11.1/lib/ocaml/site-lib/stublibs" >>"/gnu/store/7vrg8apsnl6hg9vsszpgcq4ymvz9whap-ocaml-core-0.11.3/lib/ocaml/site-lib/stublibs" >>"/gnu/store/iz6wzz9sm4qnal2wlqi66blm8mb35zxv-ocaml-core-kernel-0.11.1/lib/ocaml/site-lib/stublibs" >>"/gnu/store/zrpcrfrmyanhqpvhxkclpgiq2sp7k1ip-ocaml-bin-prot-0.11.0/lib/ocaml/site-lib/stublibs" >>"/gnu/store/n70q0ypcv74vpwdd0354rjxi7mv9y1rf-ocaml-ppx-inline-test-0.12.0/lib/ocaml/site-lib/stublibs" >>"/gnu/store/q42ayh04wy70pl2xdm2yp2i0s8yh5g7b-ocaml-ppx-expect-0.12.0/lib/ocaml/site-lib/stublibs" >>"/gnu/store/cwijnaplps7zbby3xq21spjk4fgxpd35-ocaml-spawn-0.13.0/lib/ocaml/site-lib/stublibs" >>"/gnu/store/09b6pfbw3n1j2qqni822wjjixh48qwfp-ocaml-lambda-term-1.13/lib/ocaml/site-lib/stublibs" >>"/gnu/store/zlibrm9b6pa8hgwmjigzwm2cq3kb4y1r-ocaml-lwt-4.1.0/lib/ocaml/site-lib/stublibs" >>"/gnu/store/qzkydyr8rrbpfk2lfjynnhgdbavf4kh0-ocaml-ssl-0.5.7/lib/ocaml/site-lib/stublibs" >>"/gnu/store/sqkcaap13wgbjdqnjia8hi12rf2p5qf1-ocaml-dose3-5.0.1/lib/ocaml/site-lib/stublibs" >>"/gnu/store/wnl6maf9s6ksvszyy9q2bz0psiy1h15j-ocaml-mccs-1.1+9/lib/ocaml/site-lib/stublibs"))) >> >> >>If formatting is bad in this email, here are plaintext pastes. >> >>meta-packages.scm : http://ix.io/1L1A >> >>backtrace : http://ix.io/1L1B > >Looks like ocaml-num's stubslib is a file, but it should be a >directory. I'll investigate, thanks for reporting this!
This is now fixed in master. I also found a reproducibility issue in cmdliner while making sure my change didn't break anything and it's also fixed in Guix, and a patch was sent upstream :) So you can run guix pull and enjoy your metapackage!
