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

Re: [Xen-devel] ARM64 hardware in osstest (WAS: [PATCH 0/2] ocaml: Start on fixing brokenness when no ocamlopt)



Hi.  Christian Lindig of Citrix has been looking into our ARM64 ocaml
build problem.  See attached mail from him.

(NB: xen-devel added to CC list.)

Christian writes:
> My short-term strategy would be to exclude the ocaml xenstored on
> architectures that don’t support the native code OCaml
> compiler. This does not exclude ARM64 in general because the OCaml
> native code compiler is available for ARM64 - maybe just not on the
> release that is being used for tests - I haven’t looked into this.

Thanks for the investigation.

Indeed, we are running our tests on Debian jessie, which has only the
bytecode compiler for ocaml on arm64.  In the general case, until we
get a better solution, given that some versions of some operating
systems have only the bytecode compiler, I think would we need to
exclude the ocaml xenstored on _operating systems_ that don't have the
native code ocaml compiler.

This ought to be done automatically by our configure script.
Currently the configure script detects that there is "some ocaml
support" and then tries to use the native compiler.

Christian, can you advise what the correct test should be to check
whether the native code compiler is available ?  I can then try to
make a patch to our autoconfery, and maybe you would be able to review
it.  Or if you prefer to make that patch I'd be happy to review it of
course.

> In the long run I would suggest to simplify the build process of the
> OCaml part by using OCamlbuild and (possibly) Oasis which leads to a
> much simpler specification of the build targets and would cleanly
> support compiling for bytecode and native binaries, if this is
> possible at all.

That sounds nice.

But I think we have probably passed the point in this Xen release
where we want to make such a change to the build system.  I'll let
Julien (Xen Project release manager) decide on that for sure, but I
think this probably ought to be a post-4.9 task.

Regards,
Ian.

--- Begin Message ---
  • To: Ian Jackson <Ian.Jackson@xxxxxxxxxx>
  • From: Christian Lindig <christian.lindig@xxxxxxxxxx>
  • Date: Thu, 30 Mar 2017 14:23:35 +0000
  • Accept-language: en-GB, en-US
  • Cc: Jonathan Ludlam <Jonathan.Ludlam@xxxxxxxxxx>
  • Delivery-date: Thu, 30 Mar 2017 15:23:43 +0100
  • Thread-index: AQHSqWE3onY/zVkq/EGj2m8mo5G/0w==
  • Thread-topic: OCaml xenstored not compiling with byte code compiler only
Hi Ian,

Please feel free to share this with the Xen maintainers. I’ve looked into 
tools/ocaml/xenstored and why this does not compile with only the OCaml byte 
code compiler available - as it is on ARM64:

* The configure process detects correctly when the native code compiler in 
unavailable - good.
* Makefiles, however, request unconditionally native code libraries (*.cmxa) in 
LIBS, which are part of the default “all” target.

eventchn/Makefile:LIBS = xeneventchn.cma xeneventchn.cmxa
mmap/Makefile:LIBS = xenmmap.cma xenmmap.cmxa
xb/Makefile:LIBS = xenbus.cma xenbus.cmxa
xc/Makefile:LIBS = xenctrl.cma xenctrl.cmxa
xentoollog/Makefile:LIBS = xentoollog.cma xentoollog.cmxa
xl/Makefile:LIBS = xenlight.cma xenlight.cmxa
xs/Makefile:LIBS = xenstore.cma xenstore.cmxa

This triggers rules to compile code to native code, which in the absence of the 
native code compiler fails. I haven’t looked further - maybe it is possible to 
make this work with byte code only but it will only compound to the already 
pretty complicated Makefiles.

My short-term strategy would be to exclude the ocaml xenstored on architectures 
that don’t support the native code OCaml compiler. This does not exclude ARM64 
in general because the OCaml native code compiler is available for ARM64 - 
maybe just not on the release that is being used for tests - I haven’t looked 
into this.

In the long run I would suggest to simplify the build process of the OCaml part 
by using OCamlbuild and (possibly) Oasis which leads to a much simpler 
specification of the build targets and would cleanly support compiling for 
bytecode and native binaries, if this is possible at all.

Cheers

— Christian





--- End Message ---
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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