On Tue, 29 Aug 2017 14:51:49 +0100
"Richard W.M. Jones" <rjones(a)redhat.com> wrote:
OCaml 4.05 was added to Fedora 27+ recently. Unfortunately, on
aarch64 only, it interacts badly with a change made in binutils 2.29
which tightens up the rules on relocations for PC-relative addresses.
More details:
https://caml.inria.fr/mantis/view.php?id=7585 detailed discussion
https://github.com/ocaml/ocaml/pull/1268 partial solution
https://sourceware.org/ml/binutils/2017-06/msg00171.html binutils change
This only affects dynamic loading of OCaml modules on aarch64, and in
particular it only affects the Coq theorem prover. This package has a
number of dependencies, so it affects several other packages too. I
believe the complete list is:
- coq Theorem prover
- frama-c Framework for source code analysis of C software
- gappalib-coq Coq support library for gappa
- why Software verification platform
I tried very hard to modify the OCaml aarch64 code generator to make
this work, but it seems as if the OCaml front end compiler doesn't
provide enough information for us to know if a particular symbol will
be used outside a module (it just assumes that all non-private symbols
can be used this way). Or something. Anyway I couldn't work out how
to fix it.
So ... I don't know what to do here, but I guess possible options
include:
(1) Continue having broken dependencies for the affected packages on
aarch64 for a bit and see if upstream come up with anything.
I would lean to that "solution"
(2) ‘ExcludeArch: aarch64’ on coq and its dependencies. We would of
course file the relavent ExcludeArch bugs. The thing that stops me
doing this is that we're nowhere nearer to having a fix, so it just
punts the problem, plus aarch64 is an important target and Coq is an
important package.
(3) Disable the problematic coq modules. I'm not clear if they are
necessary however, since I've only used Coq as an end user, I've never
delved into how it works.
(4) Back out the binutils change? I guess it was made for good
reasons even though it breaks everything. Also it would be a
downstream change which is bad for Fedora, and we'd probably need to
mass-rebuild everything which is even worse.
(5) Your Plan Here.
I would file a bug against binutils to get attention from the
maintainer (nickc), not sure he is monitoring this list.
Dan
>
> Suggestions?
>
> Rich.
>
> --
> Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
> Read my programming and virtualization blog:
http://rwmj.wordpress.com
> Fedora Windows cross-compiler. Compile Windows programs, test, and
> build Windows installers. Over 100 libraries supported.
>
http://fedoraproject.org/wiki/MinGW
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org