Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at
Bug 1099153 - alt-ergo: fails to build on aarch64
Summary: alt-ergo: fails to build on aarch64
Alias: None
Product: Fedora
Classification: Fedora
Component: alt-ergo
Version: rawhide
Hardware: aarch64
OS: Unspecified
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: ARM64, F-ExcludeArch-aarch64
TreeView+ depends on / blocked
Reported: 2014-05-19 15:13 UTC by Richard W.M. Jones
Modified: 2015-03-13 20:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-03-13 20:12:29 UTC
Type: Bug

Attachments (Terms of Use)
build.log (27.03 KB, text/plain)
2014-05-19 15:13 UTC, Richard W.M. Jones
no flags Details

Description Richard W.M. Jones 2014-05-19 15:13:28 UTC
Created attachment 897211 [details]

Description of problem:

There seems to be some kind of code-gen bug on aarch64 which
affects alt-ergo.

ocamlopt.opt -c -annot -inline 1000 -I /usr/lib64/ocaml/zarith -I /usr/lib64/ocaml/ocamlgraph -I /usr/lib64/ocaml/lablgtk2 -I +threads -I src/util -I src/structures -I src/theories -I src/instances -I src/sat -I src/preprocess -I src/parsing -I src/gui -I src/main  -for-pack AltErgo -g -ccopt -Wl,-z,relro,-z,now src/theories/
/tmp/camlasm166d5e.s: Assembler messages:
/tmp/camlasm166d5e.s:20877: Error: conditional branch out of range
File "src/theories/", line 1:
Error: Assembler error, input left in file /tmp/camlasm166d5e.s
make: *** [src/theories/intervals.cmx] Error 2

Version-Release number of selected component (if applicable):

alt-ergo on Fedora Rawhide
OCaml compiler on Fedora Rawhide

The full build log is attached.

Comment 1 Marcin Juszkiewicz 2015-03-11 11:19:29 UTC
Now build fails in other way:

+ sed -i 's/^OFLAGS =.*/& -g -ccopt -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld/' Makefile.users
sed: -e expression #1, char 48: unknown option to `s'

But this happens on all platforms. Edited sed to use "+" instead of "/" resulted with:

ocamlopt.opt: unknown option '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld'.
Usage: ocamlopt <options> <files>
Options are:

So I tested how it works with sed totally disabled (which is probably wrong) and it built:

Zapisano: /builddir/build/RPMS/alt-ergo-0.99.1-2.fc23.aarch64.rpm
Zapisano: /builddir/build/RPMS/alt-ergo-gui-0.99.1-2.fc23.aarch64.rpm
Zapisano: /builddir/build/RPMS/alt-ergo-debuginfo-0.99.1-2.fc23.aarch64.rpm

So issue is probably no longer AArch64 related.

Comment 2 Richard W.M. Jones 2015-03-11 11:33:26 UTC
You have to put -ccopt in front of each argument, otherwise ocamlopt
won't pass them to the compiler but will try to parse them itself, ie.
this would be correct:

ocamlopt ... -ccopt -Wl,-z,relro -ccopt -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ...

So that sed expression isn't going to work as written.

Anyhow by not using sed you're just not passing the hardening
options down to the compiler which is no big deal.

Comment 3 Jerry James 2015-03-13 20:12:29 UTC
Fixed in Rawhide.

Note You need to log in before you can comment on or make changes to this bug.