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 1136544 - Could not open %files file /builddir/build/....../java-1.8.0-openjdk.files: No such file or directory
Summary: Could not open %files file /builddir/build/....../java-1.8.0-openjdk.files: N...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk
Version: 21
Hardware: ppc64le
OS: Linux
medium
high
Target Milestone: ---
Assignee: jiri vanek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PPCTracker
TreeView+ depends on / blocked
 
Reported: 2014-09-02 20:25 UTC by Karsten Hopp
Modified: 2014-09-04 15:18 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-04 12:55:38 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
patch for spec file to add ppc64le as a jit arch and a variant of ppc64 (851 bytes, patch)
2014-09-03 23:38 UTC, Omair Majid
no flags Details | Diff

Description Karsten Hopp 2014-09-02 20:25:07 UTC
Description of problem:
The file list java-1.8.0-openjdk.files doesn't get created on ppc64le:

Processing files: java-1.8.0-openjdk-1.8.0.20-1.b26.fc21.ppc64le
error: Could not open %files file /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.20-1.b26.fc21.ppc64le/java-1.8.0-openjdk.files: No such file or directory
RPM build errors:
    Could not open %files file /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.20-1.b26.fc21.ppc64le/java-1.8.0-openjdk.files: No such file or directory
Child return code was: 1

Version-Release number of selected component (if applicable):
java-1.8.0-openjdk-1.8.0.20-1.b26.fc21.

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f21 java-1.8.0-openjdk-1.8.0.20-1.b26.fc21.src.rpm
2.
3.

Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2068809

Expected results:


Additional info:

Comment 1 jiri vanek 2014-09-03 15:59:44 UTC
ok. the filtering is wrong, there is nowhere xYES in log

The regex is expecting something like
.../lib/ppc64le/...
 - {archinstall}

but on the the build is done into normal
.../lib/ppc64/..


I think that best solution is to get rid of this ppc64le archinstall value. It seems that it is not used, and notrmal ppc  is used instead.

Comment 2 jiri vanek 2014-09-03 16:01:56 UTC
One more note, if archinstall is broken like this, then not only filelist is corrupted.
fgrep archinstall form specfile - audio, jsa, systemtap.... everything points to ppc64le....

Comment 3 Omair Majid 2014-09-03 23:38:15 UTC
Created attachment 934236 [details]
patch for spec file to add ppc64le as a jit arch and a variant of ppc64

The attached patch (sort of) tries to address the problem and makes the ppc64le build a jit build (rather than zero).

But building this leads to weird errors, like:

/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.20-2.b26.fc21.ppc64le/jdk8/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp:122:29: error: 'FunctionDescriptor' was not declared in this scope
      call_c(CAST_FROM_FN_PTR(FunctionDescriptor*,

FunctionDescriptor is defined in an #if !defined(ABI_ELFv2) block (in hotspot/src/cpu/ppc/vm/assembler_ppc.hpp) and the makfile (hotspot/make/linux/makefiles/ppc64.make) says '# Little endian machine uses ELFv2 ABI'

I am a little confused about the upstream build status of ppc64le now.

Comment 4 jiri vanek 2014-09-04 07:58:55 UTC
There is small error in your patch. To jit only ppc64le should be added. Not whole ppc swarm. Otherwise yes:(( I will push this change to rhel 7 and f21+f22

Comment 5 Omair Majid 2014-09-04 14:43:49 UTC
(In reply to jiri vanek from comment #4)
> To jit only ppc64le should be added. Not
> whole ppc swarm.

Are you sure about that? I figured the %{power64} macro indicates ppc64 and its variants. Upstream JIT exists for both ppc64be and ppc64le AFAIK.

Anyway, turns out the missing bit was the interpreter.. A scratch build [1] completed with the `--with-jvm-interpreter=cpp` argument suggested at [2]. Apparently only the cpp interpreter is supported on ppc64le. Please note that the scratch build built on ppc64(be) and ppc64le, with my original patch - the JIT is enabled for both.

I have pushed the ccp-interpreter change.

[1] http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2078350
[2] http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2014-July/002065.html

Comment 6 Andrew John Hughes 2014-09-04 15:16:06 UTC
The original patch is correct; the only PPC platforms not supported by the PPC JIT is ppc32 and some early (<power5) versions of ppc64. ppc64be is actually better supported than ppc64le and the original reason we split them in 7 was so that Zero was still used for ppc64le, which didn't have support from the PPC port back then.

The cpp interpreter is used by the JIT on both architectures, I believe. What I don't understand is why this isn't automatically turned on for this architecture. In merging with 7, I fixed it to do this:

http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/43b9c3182bd1b0

Comment 7 Andrew John Hughes 2014-09-04 15:18:18 UTC
s/is ppc32/are ppc32/

Serves me right for rewording.


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