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 1288561

Summary: rakudo-star-2015.11 build failure on ppc64le
Product: [Fedora] Fedora Reporter: Than Ngo <than>
Component: rakudo-starAssignee: Gerd Pokorra <gp>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gp, rdossant
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-14 17:08:34 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: 1071880, 1051573    

Description Than Ngo 2015-12-04 15:16:27 UTC
rakudo-star-2015.11 doesn't build on ppc64le.

/usr/bin/perl -MExtUtils::Command -e cp /usr/bin/eval-client.pl .
./perl6-j --target=jar --output=lib/Test.pm.jar -Ilib lib/Test.pm
./perl6-j --target=jar --output=lib/lib.pm6.jar lib/lib.pm6
./perl6-j --target=jar --output=lib/Pod/To/Text.pm.jar lib/Pod/To/Text.pm
./perl6-j --target=jar --output=lib/newline.pm6.jar lib/newline.pm6
./perl6-j --target=jar --output=lib/NativeCall/Types.pm.jar lib/NativeCall/Types.pm
===SORRY!===
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64le/libjnidispatch.so) not found in resource path ([file:/builddir/build/BUILD/rakudo-star-2015.11/rakudo/, file:/builddir/build/BUILD/rakudo-star-2015.11/rakudo/, file:/builddir/build/BUILD/rakudo-star-2015.11/rakudo/blib/, file:/usr/share/nqp/lib/])
Makefile:445: recipe for target 'lib/NativeCall/Types.pm.jar' failed
make[1]: *** [lib/NativeCall/Types.pm.jar] Error 1
make[1]: Leaving directory '/builddir/build/BUILD/rakudo-star-2015.11/rakudo'


For more info please take a look at:
 http://ppc.koji.fedoraproject.org/kojifiles/work/tasks/5926/2965926/build.log

Comment 1 Rafael Fonseca 2015-12-04 16:22:09 UTC
The problem seems to be in the bundled jna from nqp:

sh-4.3# jar tf /usr/share/nqp/runtime/jna.jar | grep linux
com/sun/jna/linux-x86/
com/sun/jna/linux-x86/libjnidispatch.so
com/sun/jna/linux-x86-64/
com/sun/jna/linux-x86-64/libjnidispatch.so
com/sun/jna/linux-arm/
com/sun/jna/linux-arm/libjnidispatch.so

As in [1], the jna needs to be updated to a version with ppc64/ppc64le support [2]. That's probably the case in rawhide, where the error doesn't happen [3].

[1] https://issues.jenkins-ci.org/browse/JENKINS-15792
[2] https://github.com/java-native-access/jna/pull/425/files
[3] http://ppc.koji.fedoraproject.org/koji/buildinfo?buildID=353690

The problem also happens on ppc64.

Comment 2 Gerd Pokorra 2015-12-06 06:03:44 UTC
At line 50 to 53 of the spec is defined that the build of the JVM subpackage will not be done for the i686 architecture:

%define build_jvm_exec 1
%ifarch i686
%define build_jvm_exec 0
%endif

You can make a simple workaround and disable the building of the JVM subpackage also for the ppc architechture:

%define build_jvm_exec 1
%ifarch i686 ppc ppc64
%define build_jvm_exec 0
%endif

Comment 3 Gerd Pokorra 2015-12-07 18:44:57 UTC
At

https://koji.fedoraproject.org/koji/taskinfo?taskID=12100307

is a rawhide scratch build that do not bundle jna.

Comment 4 Gerd Pokorra 2015-12-09 03:51:36 UTC
Indeed the scratch build only overwrite the nqp jna with the jna of the system and bundle this. Now the is a nqp build (nqp-0.0.2015.11-3.fc24) in rawhide the really do not bundle jna:

https://koji.fedoraproject.org/koji/taskinfo?taskID=12117454

Does this fix the problem?

Comment 5 Gerd Pokorra 2015-12-09 03:55:22 UTC
I wanted to write:

Now there is a nqp build (nqp-0.0.2015.11-3.fc24) in rawhide that really do not bundle jna.

Comment 6 Gerd Pokorra 2015-12-14 17:08:34 UTC
rakudo-star builds also with the jvm executable at the top of the nqp ((nqp-0.0.2015.11-4.fc24) that do not bundle jna.


A ppc scratch build is at:

http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2990815



A rebuild at the primary architecture is running.


Rafael thank you for the tip.

Comment 7 Rafael Fonseca 2015-12-14 22:42:20 UTC
Thank you for the fix.