* Farkas Levente <lfarkas(a)lfarkas.org> [2015-03-27 10:05]:
hi,
i'm try to build a java package for epel-6 which use java-8.
unfortunately it seem it's not enough to simple add
BuildRequires: java-1.8.0-openjdk-devel
since it's install it, but also still install during the mock setup
session old java packages ie:
java-1.5.0-gcj x86_64 1.5.0.0-29.1.el6 os
137 k
java-1.6.0-sun x86_64 1:1.6.0.45-1jpp.1.el6 os
25 M
java-1.7.0-ibm x86_64 1:1.7.0.5.0-1jpp.2.el6_4 os
73 M
java-1.7.0-ibm-devel x86_64 1:1.7.0.5.0-1jpp.2.el6_4 os
7.5 M
java-1.7.0-oracle x86_64 1:1.7.0.45-1jpp.2.el6_4 os
28 M
and i'm not bale to exclude them. in rpm the is a Obsoletes: but there
is no such thing as "BuildRequiresObsoletes":-(
what's more i can't run system-switch-java since it's required root
access and there is no command line option to switch to a given specific
java version.
so during build the system use the default javac which is not java8 but
ibm's java7 (IBM J9 VM (build 2.6, JRE 1.7.0).
is there any way to force java8? or is there any way to exclude other
java vm jre to install into mock during build?
Hi,
One of your dependencies likely requires java or java-devel, or perhaps
even a versioned 6/7, which is why this seems to be happening.
That said though, how are sun/oracle/ibm jdks showing up? They are not
in base rhel and AFAIK EPEL does not pull from Supplementary, does it?
You can force your build to use a different JVM in a couple of ways:
1. If you are calling javac directly, use
/usr/lib/jvm/java-1.8.0-openjdk/bin/javac
2. If there is additional complexity in the build e.g. ant/maven are
being used, try setting JAVA_HOME and overriding PATH to put OpenJDK8
first i.e. do:
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
$ export PATH=$JAVA_HOME/bin:${PATH}
This should force the usage of OpenJDK8.
Cheers,
Deepak
thanks in advance.
regards.
--
Levente "Si vis pacem para bellum!"
--
java-devel mailing list
java-devel(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/java-devel