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

Re: [MirageOS-devel] Problems building mirage-skeleton stackv4



Hi,

The problem is triggered by the "mirage" command-line tool attempting to replace its own binary:

> stackv4      # cp: cannot create regular file `/root/.opam/system/bin/mirage': Text file busy

As a workaround, try running "opam upgrade mirage" and then try "make all" again -- by pre-upgrading mirage you should bypass the problem.

I had a quick scan through the mirage/mirage issues list on github and couldn't spot this one. It's probably worth filing this as a bug so we don't forget. Perhaps we could fix it by changing mirage/mirage opam install to "mv mirage mirage.bak; cp newmirage mirage".

Cheers,
Dave


On Wed, Feb 12, 2014 at 2:46 PM, Julian Chesterfield <julian.chesterfield@xxxxxxxxx> wrote:
Hi there! Any pointers on the following error I'm getting when trying to build mirage-skeleton on a fresh build server? Ubuntu precise, 12.04.1 LTS.

Thanks!
Julian

root@Build-server:~/mirage-skeleton# opam list
Installed packages for system:
base-bigarray             base  Bigarray library distributed with the OCaml compiler
base-threads              base  Threads library distributed with the OCaml compiler
base-unix                 base  Unix library distributed with the OCaml compiler
cmdliner                 0.9.4  Declarative definition of command line interfaces for OCaml
cohttp                  0.9.16  HTTP library for Lwt, Async and Mirage
cstruct                  1.0.1  access C structures via a camlp4 extension
fieldslib            109.20.03  Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record v
io-page                  1.1.0  Allocate memory pages suitable for aligned I/O
ipaddr                   2.4.0  IP (and MAC) address representation library
lwt                      2.4.4  A cooperative threads library for OCaml
mirage-clock-unix        1.0.0  A Mirage-compatible Clock library for Unix
mirage-console-unix      1.0.0  A Mirage-compatible Console library for Unix
mirage-http              1.1.0  Mirage HTTP client and server driver for Unix
mirage-net-unix          1.1.0  Ethernet network driver for Mirage, using tuntap
mirage-types             1.1.0  Module type definitions for Mirage-compatible applications
mirage-unix              1.1.0  Mirage OS library for Unix compilation
ocamlfind                1.4.0  A library manager for OCaml
ocplib-endian              0.4  Optimised functions to read and write int16/32/64 from strings and bigarrays, based on new primitives added in version 4.01.
optcomp                    1.5  Optional compilation with cpp-like directives
ounit                    2.0.0  Unit testing framework loosely based on HUnit. It is similar to JUnit, and other XUnit testing frameworks
re                       1.2.1  RE is a regular _expression_ library for OCaml
sexplib              110.01.00  Library for serializing OCaml values to and from S-expressions
shared-memory-ring       1.0.0  Shared memory rings for RPC and bytestream communications.
ssl                      0.4.6  Bindings for the libssl
tcpip                    1.1.0  Userlevel TCP/IP stack
tuntap                   0.7.0  TUN/TAP bindings
type_conv            109.60.01  Library for building type-driven syntax extensions
uri                     1.3.13  RFC3986 URI parsing library


root@Build-server:~/mirage-skeleton# make all

.......<--All fine until

stackv4     + Executing: opam install --yes mirage-clock-unix mirage-console-unix mirage-http mirage-net-unix mirage-unix tcpip
stackv4      The following actions will be performed:
stackv4       - install type_conv.109.60.01 [required by mirage-http]
stackv4       - install ssl.0.4.6 [required by mirage-http]
stackv4       - install fieldslib.109.20.03 [required by mirage-http]
stackv4       - install sexplib.110.01.00 [required by mirage-http]
stackv4       - recompile lwt.2.4.4 [use ssl]
stackv4       - install uri.1.3.13 [required by mirage-http]
stackv4       - recompile cstruct.1.0.1 [use ssl]
stackv4       - install cohttp[ERROR] The compilation of mirage.1.1.0 failed.
stackv4
stackv4      ===== ERROR while recompiling mirage.1.1.0 =====
stackv4      # opam-version         1.1.1
stackv4      # os                   linux
stackv4      # command              make install
stackv4      # path                 /root/.opam/system/build/mirage.1.1.0
stackv4      # compiler             system (4.01.0)
stackv4      # exit-code            2
stackv4      # env-file             /root/.opam/system/build/mirage.1.1.0/mirage-17018-e0ba4f.env
stackv4      # stdout-file          /root/.opam/system/build/mirage.1.1.0/mirage-17018-e0ba4f.out
stackv4      # stderr-file          /root/.opam/system/build/mirage.1.1.0/mirage-17018-e0ba4f.err
stackv4      ### stdout ###
stackv4      # ...[truncated]
stackv4      # /root/.opam/system/bin/ocamlfind ocamldep -package cmdliner -package dynlink -package ipaddr -package lwt -package mirage-types -package mirage-types.lwt -package unix -modules lib/main.ml > lib/main.ml.depends
stackv4      # /root/.opam/system/bin/ocamlfind ocamlc -c -g -annot -bin-annot -principal -I lib -package cmdliner -package dynlink -package ipaddr -package lwt -package mirage-types -package mirage-types.lwt -package unix -I lib -o lib/main.cmo lib/main.ml
stackv4      # /root/.opam/system/bin/ocamlfind ocamlopt -c -g -annot -bin-annot -principal -I lib -package cmdliner -package dynlink -package ipaddr -package lwt -package mirage-types -package mirage-types.lwt -package unix -I lib -o lib/main.cmx lib/main.ml
stackv4      # /root/.opam/system/bin/ocamlfind ocamlopt -g -linkpkg -package cmdliner -package dynlink -package ipaddr -package lwt -package mirage-types -package mirage-types.lwt -package unix lib/mirage.cmxa lib/main.cmx -o lib/main.native
stackv4      # ./setup.bin -test
stackv4      # ./setup.bin -doc
stackv4      # make[1]: Leaving directory `/root/.opam/system/build/mirage.1.1.0'
stackv4      # make[1]: Entering directory `/root/.opam/system/build/mirage.1.1.0'
stackv4      # ./setup.bin -install
stackv4      # make[1]: Leaving directory `/root/.opam/system/build/mirage.1.1.0'
stackv4      ### stderr ###
stackv4      # ...[truncated]
stackv4      # Installed /root/.opam/system/lib/mirage/mirage.a
stackv4      # Installed /root/.opam/system/lib/mirage/mirage.cmxs
stackv4      # Installed /root/.opam/system/lib/mirage/mirage_misc.cmi
stackv4      # Installed /root/.opam/system/lib/mirage/mirage.cmi
stackv4      # Installed /root/.opam/system/lib/mirage/mirage_misc.cmx
stackv4      # Installed /root/.opam/system/lib/mirage/mirage.cmx
stackv4      # Installed /root/.opam/system/lib/mirage/META
stackv4      # cp: cannot create regular file `/root/.opam/system/bin/mirage': Text file busy
stackv4      # E: Failure("Command ''cp' '/root/.opam/system/build/mirage.1.1.0/_build/lib/main.native' '/root/.opam/system/bin/mirage'' terminated with error code 1")
stackv4      # make[1]: *** [install] Error 1
stackv4
stackv4
stackv4      The former state can be restored with opam switch import -f "/root/.opam/system/backup/state-20140112143516.export"
stackv4      'opam install --yes mirage-clock-unix mirage-console-unix mirage-http mirage-net-unix mirage-unix tcpip' failed.
stackv4      tar.gz
stackv4      Downloading https://opam.ocaml.org/archives/uri.1.3.13+opam.tar.gz
stackv4
     Building uri.1.3.13:
stackv4        ocaml setup.ml -configure --prefix /root/.opam/system
stackv4        ocaml setup.ml -build
stackv4        ocaml setup.ml -install
stackv4      Installing uri.1.3.13.
stackv4
stackv4      =-=-= Installing cohttp.0.9.16 =-=-=
stackv4      default    Downloading https://opam.ocaml.org/archives/cohttp.0.9.16+opam.tar.gz
stackv4
     Downloading https://opam.ocaml.org/archives/cohttp.0.9.16+opam.tar.gz
stackv4
     Building cohttp.0.9.16:
stackv4        make PREFIX=/root/.opam/system
stackv4        make PREFIX=/root/.opam/system install
stackv4      Installing cohttp.0.9.16.
stackv4
stackv4      =-=-= Installing io-page.1.1.0 =-=-=
stackv4      Building io-page.1.1.0:
stackv4        make
stackv4        make install
stackv4      Installing io-page.1.1.0.
stackv4
stackv4      =-=-= Installing shared-memory-ring.1.0.0 =-=-=
stackv4      Building shared-memory-ring.1.0.0:
stackv4        make all
stackv4        make install
stackv4      Installing shared-memory-ring.1.0.0.
stackv4
stackv4      =-=-= Installing mirage-types.1.1.0 =-=-=
stackv4      Building mirage-types.1.1.0:
stackv4        make install-types
stackv4      Installing mirage-types.1.1.0.
stackv4
stackv4      =-=-= Installing mirage.1.1.0 =-=-=
stackv4      Building mirage.1.1.0:
stackv4        ./configure --bindir /root/.opam/system/bin
stackv4        make
stackv4        make install
stackv4      Removing mirage.1.1.0.
stackv4        ./configure --bindir /root/.opam/system/bin
stackv4        make uninstall
stackv4
stackv4      =-=-= Installing mirage-clock-unix.1.0.0 =-=-=
stackv4      Building mirage-clock-unix.1.0.0:
stackv4        make unix-build
stackv4        make unix-install
stackv4      Installing mirage-clock-unix.1.0.0.
stackv4
stackv4      =-=-= Installing mirage-net-unix.1.1.0 =-=-=
stackv4      Building mirage-net-unix.1.1.0:
stackv4        make
stackv4        make install
stackv4      Installing mirage-net-unix.1.1.0.
stackv4
stackv4      =-=-= Installing mirage-unix.1.1.0 =-=-=
stackv4      Building mirage-unix.1.1.0:
stackv4        make unix-build
stackv4        make unix-install PREFIX=/root/.opam/system
stackv4      Installing mirage-unix.1.1.0.
stackv4
stackv4      =-=-= Installing mirage-console-unix.1.0.0 =-=-=
stackv4      Building mirage-console-unix.1.0.0:
stackv4        make unix-build
stackv4        make unix-install
stackv4      Installing mirage-console-unix.1.0.0.
stackv4
stackv4      =-=-= Installing tcpip.1.1.0 =-=-=
stackv4      Building tcpip.1.1.0:
stackv4        make
stackv4        make install
stackv4      Installing tcpip.1.1.0.
stackv4
stackv4      =-=-= Installing mirage-http.1.1.0 =-=-=
stackv4      default    Downloading https://opam.ocaml.org/archives/mirage-http.1.1.0+opam.tar.gz
stackv4
     Downloading https://opam.ocaml.org/archives/mirage-http.1.1.0+opam.tar.gz
stackv4
     Building mirage-http.1.1.0:
stackv4        make
stackv4        make install
stackv4      Installing mirage-http.1.1.0.
stackv4
[ERROR]      The command "opam install --yes mirage-clock-unix mirage-console-unix mirage-http mirage-net-unix mirage-unix tcpip" exited with code 4.
make: *** [stackv4-configure] Error 1
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel



--
Dave Scott
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

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