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

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



> On 19 Apr 2015, at 20:57, Magnus Therning <magnus@xxxxxxxxxxxx> 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
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®.