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.