From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viet Le Subject: Re: Unresolable collision between ocaml packages Date: Fri, 7 Jun 2019 05:10:57 +0100 Message-ID: References: <87k1dz6awe.fsf@posteo.net> <877e9y1217.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:33281) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZ6Dg-0005iQ-5r for help-guix@gnu.org; Fri, 07 Jun 2019 00:11:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hZ6De-0003nv-Dj for help-guix@gnu.org; Fri, 07 Jun 2019 00:11:12 -0400 Received: from mail-ua1-x943.google.com ([2607:f8b0:4864:20::943]:38419) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hZ6De-0003mX-6H for help-guix@gnu.org; Fri, 07 Jun 2019 00:11:10 -0400 Received: by mail-ua1-x943.google.com with SMTP id j2so174711uaq.5 for ; Thu, 06 Jun 2019 21:11:10 -0700 (PDT) In-Reply-To: <877e9y1217.fsf@posteo.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Brett Gilio Cc: help-guix@gnu.org I did look into the cmdliner github and found the fix done 2 months ago: https://github.com/dbuenzli/cmdliner/commit/2e395e35a40178685700d74e5d9529b= ecdafd137 Viet On Fri, 7 Jun 2019 at 04:56, Brett Gilio wrote: > > Julien Lepiller writes: > > > Le 6 juin 2019 08:06:42 GMT+02:00, Julien Lepiller > a =C3=A9crit : > >>Le 5 juin 2019 22:21:37 GMT+02:00, Brett Gilio a > >>=C3=A9crit : > >>>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=E2=80=A6") > >>>In guix/build/profiles.scm: > >>> 157:2 5 (build-profile "/gnu/store/c2khaalrpy7cdyr8k4lawgqnbzs=E2= =80=A6" > >>=E2=80=A6) > >>>In unknown file: > >>> 4 (hash-for-each # > >>=E2=80=A6) > >>> 3 (hash-for-each # > >>=E2=80=A6) > >>> 2 (hash-for-each # > >>=E2=80=A6) > >>> 1 (hash-for-each # > >>=E2=80=A6) > >>> 0 (scm-error misc-error #f "~A ~S" ("union-build: col=E2=80= =A6" =E2=80=A6) > >>=E2=80=A6) > >>> > >>>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/oc= aml/site-lib/stublibs" > > >>>"/gnu/store/7vrg8apsnl6hg9vsszpgcq4ymvz9whap-ocaml-core-0.11.3/lib/oca= ml/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.1= 2.0/lib/ocaml/site-lib/stublibs" > > >>>"/gnu/store/q42ayh04wy70pl2xdm2yp2i0s8yh5g7b-ocaml-ppx-expect-0.12.0/l= ib/ocaml/site-lib/stublibs" > > >>>"/gnu/store/cwijnaplps7zbby3xq21spjk4fgxpd35-ocaml-spawn-0.13.0/lib/oc= aml/site-lib/stublibs" > > >>>"/gnu/store/09b6pfbw3n1j2qqni822wjjixh48qwfp-ocaml-lambda-term-1.13/li= b/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/oca= ml/site-lib/stublibs" > > >>>"/gnu/store/wnl6maf9s6ksvszyy9q2bz0psiy1h15j-ocaml-mccs-1.1+9/lib/ocam= l/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! > > Thanks Julien! > > -- Kind regards, Viet