> On 19 Apr 2015, at 20:57, Magnus Therning <[email protected]> wrote:
> 
> 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

Interesting -- these are both new symbols introduced in cstruct.1.6.0.  I had 
thought that the Cstruct stubs in mirage-platform were now using the version 
from Cstruct, but that transition hasn't happened yet.

It's easily fixed; you can either:

- test the fix via "opam pin add mirage-xen 
git://github.com/avsm/mirage-platform#fix-cstruct-1.6.0" 
  (you need OPAM 1.2.1+ for this, as it uses the virtual package detection 
feature)

- drop back to Cstruct.1.5.0 via "opam install cstruct.1.5.0"

- the upper bounds are added in this opam-repository pull request:
  https://github.com/ocaml/opam-repository/pull/3978

thank for the report!

-anil


_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to