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

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



Seems like cstruct's c stubs are not linked in. It would be interesting to see 
the full compiler invocation.   

Best,

Daneil


Le dimanche, 19 avril 2015 Ã 21:57, Magnus Therning a Ãcrit :

> 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 (mailto:magnus@xxxxxxxxxxxx) jabber: 
> magnus@xxxxxxxxxxxx (mailto: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
>  
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@xxxxxxxxxxxxxxxxxxxx 
> (mailto:MirageOS-devel@xxxxxxxxxxxxxxxxxxxx)
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel




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