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 bugzilla.redhat.com.

Bug 1393334

Summary: FTBFS due Fatal error: unknown C primitive `caml_is_printable'
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: ocaml-extlibAssignee: Richard W.M. Jones <rjones>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: lxtnow, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: s390x   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-09 11:39:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 467765    

Description Dan Horák 2016-11-09 11:05:48 UTC
Build fails with

...
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.cUmXAW
make -C src build
+ umask 022
+ cd /builddir/build/BUILD
+ cd ocaml-extlib-1.7.0
+ unset MAKEFLAGS
+ make build -j1
make: git: Command not found
make[1]: Entering directory '/builddir/build/BUILD/ocaml-extlib-1.7.0/src'
cppo -D OCAML4  -D OCAML4_02  -D WITH_BYTES extBytes.mlpp -o extBytes.ml
make[1]: Leaving directory '/builddir/build/BUILD/ocaml-extlib-1.7.0/src'
Fatal error: unknown C primitive `caml_is_printable'
make[1]: *** [Makefile:50: extBytes.ml] Error 2
make: *** [Makefile:13: build] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.cUmXAW (%build)
    Bad exit status from /var/tmp/rpm-tmp.cUmXAW (%build)

for full logs please see http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=2396028

Version-Release number of selected component (if applicable):
ocaml-extlib-1.7.0-1.fc26

Comment 1 Richard W.M. Jones 2016-11-09 11:39:17 UTC
I believe this is because you're using the old (and bytecode) version
of ocaml-cppo.

The latest ocaml-cppo is ocaml-cppo-1.4.0-1.fc26, and that is
a native binary:

$ file /usr/bin/cppo
/usr/bin/cppo: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 3.2.0, BuildID[sha1]=6dd3701da7493a10499df679a7d56bf992d8cc63, stripped

but the one you are using is 1.1.2-3.fc24.

What I'm not clear about is why didn't koji-shadow build ocaml-cppo
first?  It is a BuildRequires of ocaml-extlib.

Anyway this is not a bug, I am able to build ocaml-extlib find on
devel10 after building and installing ocaml-cppo first.

Comment 2 Richard W.M. Jones 2016-11-09 11:39:39 UTC
s/find/fine/

Comment 3 Dan Horák 2016-11-09 12:12:59 UTC
OK, will set a substitution in shadow config, because ocaml-cppo.x86_64 1.1.2-3.fc24 was used in primary koji for building ocaml-extlib-1.7.0-1.fc26 - https://kojipkgs.fedoraproject.org//packages/ocaml-extlib/1.7.0/1.fc26/data/logs/x86_64/root.log

Comment 4 Richard W.M. Jones 2016-11-09 12:20:33 UTC
I see - ocaml-cppo in other architectures was always a native binary so
old versions would have continued to work.

Only the bytecode binaries need the ocaml-runtime package and would be
broken if it is updated (for libraries we use a versioned Requires on
ocaml-runtime to avoid this, but not for bytecode binaries).