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

[MirageOS-devel] Link errors on ARM (xen mode)



Just told `opam` to upgrade the packages on my ARM system.  After that
I get the following link errors when compiling for Xen:

~~~
_build/main.native.o: In function `camlCstruct__compare_1532':
/home/mirage/.opam/system/build/cstruct.1.6.0/_build/lib/cstruct.ml:194: 
undefined reference to `caml_compare_bigstring'
_build/main.native.o: In function `camlCstruct__memset_1542':
/home/mirage/.opam/system/build/cstruct.1.6.0/_build/lib/cstruct.ml:202: 
undefined reference to `caml_fill_bigstring'
_build/main.native.o: In function `camlCstruct__41':
:(.data+0x32990): undefined reference to `caml_fill_bigstring'
:(.data+0x32994): undefined reference to `caml_compare_bigstring'
make[1]: *** [build] Error 1
make[1]: Leaving directory `/home/mirage/mirage-ping/src'
make: *** [build] Error 2
~~~

The same project compiles fine for Unix.  The code can be found at
https://gitlab.com/magus/mirage-ping.git

To build for unix, which works fine:

~~~
% make MODE=unix
~~~

To build for xen, which fails with above errors:

~~~
% make MODE=xen
~~~

/M

The full list of packages according to opam:

~~~
# Installed packages for system:
base-bigarray            base  Bigarray library distributed with the OCaml compi
base-bytes             legacy  Bytes compatibility library distributed with ocam
base-no-ppx              base  A pseudo-library to indicate lack of extension po
base-threads             base  Threads library distributed with the OCaml compil
base-unix                base  Unix library distributed with the OCaml compiler
camlp4                 4.01.0  Camlp4 is a system for writing extensible parsers
cmdliner                0.9.7  Declarative definition of command line interfaces
conf-pkg-config           1.0  Virtual package relying on pkg-config installatio
cppo                    1.1.2  Equivalent of the C preprocessor for OCaml progra
crunch                  1.4.0  Convert a filesystem into a static OCaml module
cstruct                 1.6.0  access C structures via a camlp4 extension
depext                    0.5  Query and install external dependencies of OPAM p
io-page                 1.5.1  Allocate memory pages suitable for aligned I/O
ipaddr                  2.6.1  IP (and MAC) address representation library
lwt                     2.4.8  A cooperative threads library for OCaml
mirage                  2.4.0  The Mirage library operating system
mirage-clock-unix       1.0.0  A Mirage-compatible Clock library for Unix
mirage-clock-xen        1.0.0  A Mirage-compatible Clock library for Xen
mirage-console          2.1.3  A Mirage-compatible Console library for Xen and U
mirage-net-unix         2.2.0  Ethernet network driver for Mirage, using tuntap
mirage-net-xen          1.4.1  Ethernet network device driver for Mirage/Xen
mirage-profile            0.4  Collect profiling information
mirage-types            2.3.0  Module type definitions for Mirage-compatible app
mirage-types-lwt        2.3.0  Lwt module type definitions for Mirage-compatible
mirage-unix             2.3.1  Mirage OS library for Unix compilation
mirage-xen              2.3.1  MirageOS library for Xen
mirage-xen-minios       0.7.0  Xen MiniOS guest operating system library
mirage-xen-ocaml        2.3.1  MirageOS headers for the OCaml runtime
mirage-xen-posix        2.3.1  MirageOS library for posix headers
ocaml-src              4.01.0  Compiler sources
ocamlfind               1.5.5  A library manager for OCaml
ocplib-endian             0.8  Optimised functions to read and write int16/32/64
ounit                   2.0.0  Unit testing framework loosely based on HUnit. It
re                      1.3.2  RE is a regular expression library for OCaml
sexplib             111.13.00  Library for serializing OCaml values to and from 
shared-memory-ring      1.1.1  Shared memory rings for RPC and bytestream commun
tcpip                   2.4.0  Userlevel TCP/IP stack
tuntap                  1.0.0  TUN/TAP bindings
type_conv           111.13.00  Library for building type-driven syntax extension
xen-evtchn              1.0.6  Xen event channel bindings.
xen-gnt                 2.2.0  Xen grant table bindings
xenstore                1.2.5  Xenstore protocol clients and server
~~~

-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4 
email: magnus@xxxxxxxxxxxx   jabber: magnus@xxxxxxxxxxxx
twitter: magthe               http://therning.org/magnus

Beauty is more important in computing than anywhere else in technology
because software is so complicated. Beauty is the ultimate defence
against complexity.
     -- David Gelernter

Attachment: pgpv1yGJem7YV.pgp
Description: PGP signature

_______________________________________________
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®.