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 1307224 - latest OpenJDK8 is FTBFS on aarch64 rawhide
Summary: latest OpenJDK8 is FTBFS on aarch64 rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Andrew Haley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARM64, F-ExcludeArch-aarch64
TreeView+ depends on / blocked
 
Reported: 2016-02-13 10:57 UTC by Peter Robinson
Modified: 2016-02-18 08:44 UTC (History)
9 users (show)

Fixed In Version: java-1.8.0-openjdk-1.8.0.72-6.b15.fc24
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-18 08:44:41 UTC
Type: Bug


Attachments (Terms of Use)
Remove unneeded template from aarch64 sources (2.96 KB, patch)
2016-02-15 11:53 UTC, Severin Gehwolf
no flags Details | Diff
Updated spec file patch fixing FTBFS (3.63 KB, patch)
2016-02-16 10:03 UTC, Severin Gehwolf
no flags Details | Diff

Description Peter Robinson 2016-02-13 10:57:35 UTC
The build java-1.8.0-openjdk-1.8.0.72-5.b15.fc24 (latest fixed on rawhide post gcc6 mass rebuild) is FTBFS on aarch64

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3385824


/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make/linux/makefiles/rules.make:149: Building signature.o  (from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/signature.cpp) (/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/signature.cpp  newer)
/usr/bin/g++ -DLINUX -D_GNU_SOURCE -DAARCH64 -DPRODUCT -I. -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/prims -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/precompiled -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os_cpu/linux_aarch64/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os/linux/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os/posix/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"25.72-b15\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"mockbuild\"" -DHOTSPOT_LIB_ARCH=\"aarch64\" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""  -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_aarch64 -DTARGET_ARCH_MODEL_aarch64 -DTARGET_OS_ARCH_linux_aarch64 -DTARGET_OS_ARCH_MODEL_linux_aarch64 -DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden  -pipe -fno-strict-aliasing  -g -fno-omit-frame-pointer -O3  -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value   -fstack-protector-strong -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-guess-branch-probability -DDTRACE_ENABLED -c -MMD -MP -MF ../generated/dependencies/signature.o.d -fpch-deps -o signature.o /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/signature.cpp 
+ /usr/bin/g++ -DLINUX -D_GNU_SOURCE -DAARCH64 -DPRODUCT -I. -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/prims -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/precompiled -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os_cpu/linux_aarch64/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os/linux/vm -I/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/os/posix/vm -I../generated '-DHOTSPOT_RELEASE_VERSION="25.72-b15"' '-DHOTSPOT_BUILD_TARGET="product"' '-DHOTSPOT_BUILD_USER="mockbuild"' '-DHOTSPOT_LIB_ARCH="aarch64"' '-DHOTSPOT_VM_DISTRO="OpenJDK"' -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_aarch64 -DTARGET_ARCH_MODEL_aarch64 -DTARGET_OS_ARCH_linux_aarch64 -DTARGET_OS_ARCH_MODEL_linux_aarch64 -DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden -pipe -fno-strict-aliasing -g -fno-omit-frame-pointer -O3 -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -fstack-protector-strong -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-guess-branch-probability -DDTRACE_ENABLED -c -MMD -MP -MF ../generated/dependencies/signature.o.d -fpch-deps -o signature.o /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/signature.cpp
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make/linux/makefiles/rules.make:149: recipe for target 'sharedRuntime_aarch64.o' failed
gmake[6]: *** [sharedRuntime_aarch64.o] Error 1
gmake[6]: *** Waiting for unfinished jobs....
gmake[6]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/build/jdk8.build/hotspot/linux_aarch64_compiler2/product'
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make/linux/makefiles/top.make:119: recipe for target 'the_vm' failed
gmake[5]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/build/jdk8.build/hotspot/linux_aarch64_compiler2/product'
gmake[5]: *** [the_vm] Error 2
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make/linux/Makefile:293: recipe for target 'product' failed
gmake[4]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/build/jdk8.build/hotspot'
Makefile:230: recipe for target 'generic_build2' failed
gmake[3]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make'
Makefile:177: recipe for target 'product' failed
gmake[2]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/make'
gmake[4]: *** [product] Error 2
gmake[3]: *** [generic_build2] Error 2
gmake[2]: *** [product] Error 2
HotspotWrapper.gmk:44: recipe for target '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/build/jdk8.build/hotspot/_hotspot.timestamp' failed
gmake[1]: Leaving directory '/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/make'
gmake[1]: *** [/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/build/jdk8.build/hotspot/_hotspot.timestamp] Error 2
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk//make/Main.gmk:108: recipe for target 'hotspot-only' failed
make: *** [hotspot-only] Error 2
RPM build errors:

Comment 1 Severin Gehwolf 2016-02-15 09:14:23 UTC
Adding Andrew Haley to CC. Seems to be caused by:

/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:197:65: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
 template <class T> static const T& min (const T& a, const T& b) {
                                                                 ^
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:198:3: error: expected primary-expression before 'return'
   return (a > b) ? b : a;
   ^~~~~~
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:198:3: error: expected '}' before 'return'
In file included from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/utilities/debug.hpp:28:0,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/globals.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/memory/allocation.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/memory/iterator.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/memory/genOopClosures.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/oops/klass.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/runtime/handles.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/memory/universe.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/code/oopRecorder.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/asm/assembler.hpp:28,
                 from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp:1113:18: warning: variable templates only available with -std=c++14 or -std=gnu++14
 #define min(a,b) Do_not_use_min_use_MIN2_instead
                  ^
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:197:36: note: in expansion of macro 'min'
 template <class T> static const T& min (const T& a, const T& b) {
                                    ^~~
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:198:3: error: expected ';' before 'return'
   return (a > b) ? b : a;
   ^~~~~~
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-5.b15.fc24.aarch64/openjdk/hotspot/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp:199:1: error: expected declaration before '}' token
 }
 ^

Comment 2 Severin Gehwolf 2016-02-15 11:53:56 UTC
Created attachment 1127233 [details]
Remove unneeded template from aarch64 sources

Spec file patch getting the build past the original failure.

Comment 3 Severin Gehwolf 2016-02-15 11:55:35 UTC
Scratch build with patch in comment 2:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3389510

It now fails in %check with:
+ JAVA_HOME=/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image
+ /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -d . /builddir/build/SOURCES/TestCryptoLevel.java
Error: missing `client' JVM at `/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/jre/lib/aarch64/client/libjvm.so'.
Please install or use the JRE or JDK that contains these missing components.
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.Jq1dz8 (%check)

Comment 4 Andrew Haley 2016-02-15 12:15:19 UTC
(In reply to Severin Gehwolf from comment #3)
> Scratch build with patch in comment 2:
> http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3389510
> 
> It now fails in %check with:
> +
> JAVA_HOME=/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.
> aarch64/openjdk/build/jdk8.build/images/j2sdk-image
> +
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/
> build/jdk8.build/images/j2sdk-image/bin/javac -d .
> /builddir/build/SOURCES/TestCryptoLevel.java
> Error: missing `client' JVM at
> `/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/
> openjdk/build/jdk8.build/images/j2sdk-image/jre/lib/aarch64/client/libjvm.
> so'.
> Please install or use the JRE or JDK that contains these missing components.
> RPM build errors:
> error: Bad exit status from /var/tmp/rpm-tmp.Jq1dz8 (%check)

Look in

images/j2sdk-image/jre/lib/amd64/jvm.cfg

You should see

-server KNOWN
-client IGNORE

Comment 5 Severin Gehwolf 2016-02-15 13:00:04 UTC
(In reply to Andrew Haley from comment #4)
> (In reply to Severin Gehwolf from comment #3)
> > Scratch build with patch in comment 2:
> > http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3389510
> > 
> > It now fails in %check with:
> > +
> > JAVA_HOME=/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.
> > aarch64/openjdk/build/jdk8.build/images/j2sdk-image
> > +
> > /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/
> > build/jdk8.build/images/j2sdk-image/bin/javac -d .
> > /builddir/build/SOURCES/TestCryptoLevel.java
> > Error: missing `client' JVM at
> > `/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/
> > openjdk/build/jdk8.build/images/j2sdk-image/jre/lib/aarch64/client/libjvm.
> > so'.
> > Please install or use the JRE or JDK that contains these missing components.
> > RPM build errors:
> > error: Bad exit status from /var/tmp/rpm-tmp.Jq1dz8 (%check)
> 
> Look in
> 
> images/j2sdk-image/jre/lib/amd64/jvm.cfg
> 
> You should see
> 
> -server KNOWN
> -client IGNORE

OK. But why is "images/j2sdk-image/bin/javac -d ./builddir/build/SOURCES/TestCryptoLevel.java" selecting a client JVM anyway?

Also, why did this work before? Looking at the build log of the last successful build on aarch64[1] I see this:
+ /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.71-1.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -d . /builddir/build/SOURCES/TestCryptoLevel.java
+ /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.71-1.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/java TestCryptoLevel
Running with the unlimited policy.

Note that this TestCryptoLevel check runs in %check now. It has been running in %build/%install before.

[1] http://arm.koji.fedoraproject.org//packages/java-1.8.0-openjdk/1.8.0.71/1.b15.fc24/data/logs/aarch64/build.log

Comment 6 Andrew Haley 2016-02-15 14:29:12 UTC
On 02/15/2016 01:00 PM, bugzilla wrote:
> OK. But why is "images/j2sdk-image/bin/javac -d
> ./builddir/build/SOURCES/TestCryptoLevel.java" selecting a client JVM anyway?

I think there's a guess in the build machinery which is based on
the class of the machine it thinks it's running on.

> Also, why did this work before? Looking at the build log of the last successful
> build on aarch64[1] I see this:
> +
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.71-1.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac
> -d . /builddir/build/SOURCES/TestCryptoLevel.java
> +
> /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.71-1.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/java
> TestCryptoLevel
> Running with the unlimited policy.
>
> Note that this TestCryptoLevel check runs in %check now. It has been running in
> %build/%install before.

As I said, it's just a guess.  "-client" should work.

Andrew.

Comment 7 Severin Gehwolf 2016-02-15 14:56:00 UTC
(In reply to Andrew Haley from comment #6)
> "-client" should work.

I take it that should be "-server" ?

Comment 8 Andrew Haley 2016-02-15 14:58:37 UTC
(In reply to Severin Gehwolf from comment #7)
> (In reply to Andrew Haley from comment #6)
> > "-client" should work.
> 
> I take it that should be "-server" ?

Certainly not.  If "-client" does not work, that is a bug.

Comment 9 Severin Gehwolf 2016-02-15 15:12:25 UTC
(In reply to Andrew Haley from comment #8)
> (In reply to Severin Gehwolf from comment #7)
> > (In reply to Andrew Haley from comment #6)
> > > "-client" should work.
> > 
> > I take it that should be "-server" ?
> 
> Certainly not.  If "-client" does not work, that is a bug.

Very confusing. So the fix is to use "-client" explicitly which should circumvent guessing machinery and then be ignored. The result, thus, will be that the only server JVM will be used instead?

Comment 10 Andrew Haley 2016-02-15 15:20:29 UTC
(In reply to Severin Gehwolf from comment #9)
> (In reply to Andrew Haley from comment #8)
> > (In reply to Severin Gehwolf from comment #7)
> > > (In reply to Andrew Haley from comment #6)
> > > > "-client" should work.
> > > 
> > > I take it that should be "-server" ?
> > 
> > Certainly not.  If "-client" does not work, that is a bug.
> 
> Very confusing. So the fix is to use "-client" explicitly which should
> circumvent guessing machinery and then be ignored. The result, thus, will be
> that the only server JVM will be used instead?

Hmm.  Please show me the command which led to this error.  Did it not contain "-client"?

Comment 11 Severin Gehwolf 2016-02-15 15:27:13 UTC
(In reply to Andrew Haley from comment #10)
> Hmm.  Please show me the command which led to this error.  Did it not
> contain "-client"?

See comment 3. The command that was failing is a simple "javac TestCryptoLevel.java". It does not contain "-J-client" if that's what you mean.

Comment 12 Andrew Haley 2016-02-15 15:32:15 UTC
(In reply to Severin Gehwolf from comment #11)

> See comment 3. The command that was failing is a simple "javac
> TestCryptoLevel.java". It does not contain "-J-client" if that's what you
> mean.

Yes, that's exactly what I meant.  I was assuming that the build machinery was passing "-client"; it sometimes does.  You never said what the contents of images/j2sdk-image/jre/lib/amd64/jvm.cfg was.  We really do need to know that.

Comment 13 Severin Gehwolf 2016-02-15 15:49:05 UTC
(In reply to Andrew Haley from comment #12)
> (In reply to Severin Gehwolf from comment #11)
> 
> > See comment 3. The command that was failing is a simple "javac
> > TestCryptoLevel.java". It does not contain "-J-client" if that's what you
> > mean.
> 
> Yes, that's exactly what I meant.  I was assuming that the build machinery
> was passing "-client"; it sometimes does.  You never said what the contents
> of images/j2sdk-image/jre/lib/amd64/jvm.cfg was.  We really do need to know
> that.

I don't have access to the builder (or Aarch64 HW) in order to be able to have a look. Peter would you be able to help? Looks like the builder for the task in comment 3 was aarch64-10a.arm.fedoraproject.org

Comment 14 Severin Gehwolf 2016-02-15 15:52:05 UTC
FWIW, here is a scratch build with explicit -J-client:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3389926

It fails the same way:
+ export JAVA_HOME=/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image
+ JAVA_HOME=/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image
+ /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/bin/javac -J-client d . /builddir/build/SOURCES/TestCryptoLevel.java
Error: missing `client' JVM at `/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/jre/lib/aarch64/client/libjvm.so'.
Please install or use the JRE or JDK that contains these missing components.
RPM build errors:

Comment 15 Peter Robinson 2016-02-15 17:20:35 UTC
> I don't have access to the builder (or Aarch64 HW) in order to be able to
> have a look. Peter would you be able to help? Looks like the builder for the
> task in comment 3 was aarch64-10a.arm.fedoraproject.org

sure, if you need to just be able to kick off a build you can just do "arm-koji build --scratch f24 java-1.8.0-openjdk-NVR.src.rpm" to kick off a scratch build. 

If you need me to extract something out of the buildroot or check something in there let me know exactly what you need.

If you have a general aarch64 machine you can also run the build in mock with f24 config.

Comment 16 Severin Gehwolf 2016-02-15 18:33:21 UTC
(In reply to Andrew Haley from comment #12)
> (In reply to Severin Gehwolf from comment #11)
> 
> > See comment 3. The command that was failing is a simple "javac
> > TestCryptoLevel.java". It does not contain "-J-client" if that's what you
> > mean.
> 
> Yes, that's exactly what I meant.  I was assuming that the build machinery
> was passing "-client"; it sometimes does.  You never said what the contents
> of images/j2sdk-image/jre/lib/amd64/jvm.cfg was.  We really do need to know
> that.

I've pushed another scratch build[1] which shows the jvm.cfg. Output from the builder was:
$ cat /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.72-6.b15.fc24.aarch64/openjdk/build/jdk8.build/images/j2sdk-image/jre/lib/aarch64/jvm.cfg
# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# 
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
#
# You may also select a JVM in an arbitrary location with the
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
# and may not be available in a future release.
#
-client IF_SERVER_CLASS -server
-server KNOWN
-minimal KNOWN

This is wrong. How do we change that?

[1] http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3390171

Comment 17 Andrew John Hughes 2016-02-15 19:14:11 UTC
Change the file in the OpenJDK sources. The OpenJDK 7 / IcedTea 2.x one reads:

# n.b. server must be first so it is used as the default
-server KNOWN
-client ALIASED_TO -server
-minimal ERROR

http://icedtea.classpath.org/hg/release/icedtea7-forest-2.6/jdk/file/tip/src/solaris/bin/aarch64/jvm.cfg

Comment 18 Andrew John Hughes 2016-02-15 19:17:09 UTC
This seems related:

http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/2940c1ead99b

Part of it seems to have been removed in a later merge (the java_md_solinux.c chunk).

Comment 19 Andrew John Hughes 2016-02-15 19:20:40 UTC
Chunk was removed here:

http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/9399aa7ef558

Incidentally, I had to revert the manpage part of this last week.

Comment 20 Andrew Haley 2016-02-15 19:22:45 UTC
(In reply to Andrew John Hughes from comment #17)
> Change the file in the OpenJDK sources. The OpenJDK 7 / IcedTea 2.x one
> reads:
> 
> # n.b. server must be first so it is used as the default
> -server KNOWN
> -client ALIASED_TO -server
> -minimal ERROR


It's best to copy it from the x86 version.

Comment 21 Severin Gehwolf 2016-02-16 10:03:08 UTC
Created attachment 1127549 [details]
Updated spec file patch fixing FTBFS

Comment 22 Severin Gehwolf 2016-02-16 10:06:09 UTC
Successful scratch build with patch in comment 21:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3391107

Comment 23 Andrew John Hughes 2016-02-16 16:00:28 UTC
(In reply to Andrew Haley from comment #20)
> (In reply to Andrew John Hughes from comment #17)
> > Change the file in the OpenJDK sources. The OpenJDK 7 / IcedTea 2.x one
> > reads:
> > 
> > # n.b. server must be first so it is used as the default
> > -server KNOWN
> > -client ALIASED_TO -server
> > -minimal ERROR
> 
> 
> It's best to copy it from the x86 version.

So is the one in 7 also wrong?

Comment 24 Andrew Haley 2016-02-17 10:47:57 UTC
(In reply to Andrew John Hughes from comment #23)
> (In reply to Andrew Haley from comment #20)
> > (In reply to Andrew John Hughes from comment #17)
> > > Change the file in the OpenJDK sources. The OpenJDK 7 / IcedTea 2.x one
> > > reads:
> > > 
> > > # n.b. server must be first so it is used as the default
> > > -server KNOWN
> > > -client ALIASED_TO -server
> > > -minimal ERROR
> > 
> > 
> > It's best to copy it from the x86 version.
> 
> So is the one in 7 also wrong?

I don't think so.  Rather, the logic which accesses this file is different.

Comment 25 Andrew Haley 2016-02-17 10:49:45 UTC
(In reply to Andrew Haley from comment #20)
> (In reply to Andrew John Hughes from comment #17)
> > Change the file in the OpenJDK sources. The OpenJDK 7 / IcedTea 2.x one
> > reads:
> > 
> > # n.b. server must be first so it is used as the default
> > -server KNOWN
> > -client ALIASED_TO -server
> > -minimal ERROR
> 
> It's best to copy it from the x86 version.

For clarity: that's the AMD64 version.

Comment 26 Severin Gehwolf 2016-02-18 08:44:41 UTC
Fixed in rawhide. See:
http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=349414


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