[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: opam gotcha
Sorry, I should have dropped a note to the list when I noticed this! I've just aliased a shell script to unset MIRAGE_OS and MIRAGE_NET before calling opam-switch. Thomas, perhaps one way to fix this is by having an opam-switch register post-switch commands, and invoking those before any future switch? This one is difficult to work around in build scripts, since the other (upstream) compiler specifications know nothing about our stuff... -anil On 5 Sep 2012, at 06:42, David Scott <scott.dj@xxxxxxxxx> wrote: > Hi, > > Thanks, I guess I should go straight to the issue tracker myself in future :-) > > The problem isn't urgent for me -- now that I understand what's > happening I can easily work around it. > > Thanks, > Dave > > On Wed, Sep 5, 2012 at 2:26 PM, Thomas Gazagnaire > <thomas.gazagnaire@xxxxxxxxx> wrote: >> Hi Dave, >> >> Anil opened an issue on github for this: >> https://github.com/OCamlPro/opam/issues/102 >> >> I'm not totally sure how I could fix this properly, but I'll try to commit a >> fix for this today. >> >> -- >> Thomas >> >> On Sep 5, 2012, at 3:20 PM, David Scott wrote: >> >>> Hi, >>> >>> I just got bitten by this: >>> >>> 1. do some xen work: >>> >>> $ opam switch 3.12.1+mirage-xen >>> >>> To update your environment variables, you can now run: >>> >>> $ eval `opam config -env` >>> >>> djs@debian:~/ocaml-cstruct$ opam config -env >>> PATH=/home/djs/.opam/3.12.1+mirage-xen/bin:/home/djs/mir-inst/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games; >>> export PATH; >>> OCAML_TOPLEVEL_PATH=/home/djs/.opam/3.12.1+mirage-xen/lib/toplevel; >>> export OCAML_TOPLEVEL_PATH; >>> MIRAGE_OS=xen; export MIRAGE_OS; >>> MIRAGE_NET=direct; export MIRAGE_NET; >>> >>> Note the MIRAGE_* environment variables are exported >>> >>> 2. do some system work: >>> >>> $ opam switch system >>> 3.12.1 >>> /usr/lib/ocaml >>> 3.12.1 >>> >>> To update your environment variables, you can now run: >>> >>> $ eval `opam config -env` >>> >>> djs@debian:~/ocaml-cstruct$ opam config -env >>> PATH=/home/djs/.opam/system/bin:/home/djs/mir-inst/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games; >>> export PATH; >>> OCAML_TOPLEVEL_PATH=/home/djs/.opam/system/lib/toplevel; export >>> OCAML_TOPLEVEL_PATH; >>> CAML_LD_LIBRARY_PATH=/home/djs/.opam/system/lib/stublibs:/usr/lib/ocaml/stublibs; >>> export CAML_LD_LIBRARY_PATH; >>> >>> Note the MIRAGE_* environment variables are still in my environment >>> from the last time. >>> >>> 3. attempt to build cstruct, the Makefile has: >>> >>> OS ?= unix >>> >>> ifneq "$(MIRAGE_OS)" "" >>> OS := $(MIRAGE_OS) >>> endif >>> >>> ... so it does a xen build by mistake. >>> >>> I can manually unset these variables myself, now that I know I should. >>> Is there a more automatic way? >>> >>> Cheers, >>> -- >>> Dave Scott >>> >> > > > > -- > Dave Scott >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |