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

Re: [Xen-devel] [PATCH 0/2] ocaml: Start on fixing brokenness when no ocamlopt



(Resending the e-mail due to SMTP issue)

On 02/14/2017 02:18 PM, Julien Grall wrote:
Hi,

Ping? As Ian mentioned earlier, without this series it is not possible
to build Xen tools for ARM64 in osstest.

Cheers,

On 02/08/2017 07:50 PM, Julien Grall wrote:
Hi,

On 24/01/17 22:19, David Scott wrote:

On 24 Jan 2017, at 11:35, Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
wrote:

Ian Jackson writes ("[PATCH 0/2] ocaml: Start on fixing brokenness
when no ocamlopt"):
Debian jessie arm64 has Ocaml (in the package `ocaml-nox') but the
package lacks ocamlopt.
...
This does not actually fix the real problem.  I'm unsure how to fix it
properly, for the following reasons:

Can I have some input from ocaml folks ?

The first ARM64 boxes in the Xen Project test lab are in principle now
online, but this bug is stopping osstest actually getting as far as
trying to boot Xen.

ocaml.m4 expects to set OCAMLC to either `ocamlopt' or failing that
`ocamlc'.  However our ocaml Makefiles seem to explicitly call
$(OCAMLOPT) in some places and and $(OCAMLC) in others.

I’m terrible at reading m4 and am really bad with autoconf so I may have
got this wrong but does it set OCAMLC to `ocamlopt` or `ocamlc.opt`?
Where

`ocamlc`: outputs bytecode, and is a bytecode executable itself
`ocamlc.opt`: outputs bytecode, and is a native code executable itself
`ocamlopt`: outputs native code, and is a bytecode executable itself
`ocamlopt.opt`: outputs native code, and is a native code executable
itself

Both `ocamlc` and `ocamlc.opt` should be interchangeable: same
command-line
arguments, exactly the same output. Same for `ocamlopt` and
`ocamlopt.opt`.

I _think_ the m4 is looking for `ocamlc.opt` because it’s an
optimised native
(therefore faster) version of `ocamlc`. It should be fine to set
`OCAMLC`
to either.

The tools/ocaml/Makefile.rules does contain rules for both bytecode
outputs
(e.g. *.cmo *.cma) and native code outputs (*.cmx *.cmxa). I believe
*.cmi
can be created by either ocamlc (ocamlc.opt) or ocamlopt (ocamlopt.opt).

I’m a bit suspicious of the tools/ocaml/xenstored/Makefile where it
refers
directly to *.cmxa files which are native-code only— I don’t see how
that
could work for bytecode outputs.

Do you have a link to the build failure?

Here a link for the build failure:

http://logs.test-lab.xenproject.org/osstest/logs/105644/build-arm64/5.ts-xen-build.log


Cheers,



--
Julien Grall

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