[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

opam gotcha



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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.