Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 287129 - no jdk-defaults-arm.conf, cannot install Java on ARM architecture
Summary: no jdk-defaults-arm.conf, cannot install Java on ARM architecture
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: ARM Linux
: High enhancement (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-30 18:19 UTC by John L. Poole
Modified: 2010-07-25 12:18 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,12.93 KB, text/plain)
2009-09-30 18:32 UTC, John L. Poole
Details
environment (environment_sanitized.txt,118.97 KB, text/plain)
2009-09-30 18:33 UTC, John L. Poole
Details
eclass-debug.log (eclass-debug.log,1.19 KB, text/plain)
2009-09-30 18:33 UTC, John L. Poole
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John L. Poole 2009-09-30 18:19:06 UTC
emerge -1 java-config:0 java-config:2

fails because there is no jdk-defaults-arm.conf specified.

I want to install the Sun JDK on my SheevaPlug (armv5).  SheevaPlug ships with Ubuntu and one can install Sun's JDK therein.  I have installed Gentoo on my SheevaPlug and it appears that no provision has been made for Java on the ARM architecture.  The files provided are:

tiny config # pwd
/var/tmp/portage/dev-java/java-config-2.1.9-r1/work/java-config-2.1.9/config
tiny config # ls
20java-config                    jdk-defaults-sparc.conf
compilers.conf                   jdk-defaults-sparc64-solaris.conf
jdk-defaults-alpha.conf          jdk-defaults-x64-solaris.conf
jdk-defaults-amd64.conf          jdk-defaults-x86-fbsd.conf
jdk-defaults-hppa.conf           jdk-defaults-x86-macos.conf
jdk-defaults-ia64.conf           jdk-defaults-x86-solaris.conf
jdk-defaults-mips.conf           jdk-defaults-x86.conf
jdk-defaults-ppc-macos.conf      jdk.conf
jdk-defaults-ppc.conf            symlink-tools
jdk-defaults-ppc64.conf          virtuals
jdk-defaults-sparc-solaris.conf
tiny config #

Unless there is some mechanism that uses a generic when the desired jdk-default... configuration file is not found, it looks like ARM architectures have not been provided for.

Unfortunately, I'm not adept enough with Gentoo portage system to create a copy and try patching by adding a file such as "jdk-defaults-arm.conf" just to get past this problem.


Reproducible: Always

Steps to Reproduce:
1.emerge -1 java-config:0 java-config:2
2.
3.

Actual Results:  
*
 * ERROR: dev-java/java-config-2.1.8-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_install
 *             environment, line 3126:  Called die
 * The specific snippet of code:
 *       newins config/jdk-defaults-${ARCH}.conf jdk-defaults.conf || die "arch config not found"
 *  The die message:
 *   arch config not found
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-java/java-config-2.1.8-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-java/java-config-2.1.8-r1/temp/environment'.
 *
 * QA Notice: file does not exist:
 *
 *      newins: config/jdk-defaults-arm.conf does not exist


Expected Results:  
should install.

I'll attach the build log and environment.
Comment 1 John L. Poole 2009-09-30 18:32:47 UTC
Created attachment 205711 [details]
build.log
Comment 2 John L. Poole 2009-09-30 18:33:09 UTC
Created attachment 205712 [details]
environment
Comment 3 John L. Poole 2009-09-30 18:33:29 UTC
Created attachment 205713 [details]
eclass-debug.log
Comment 4 John L. Poole 2009-09-30 18:34:42 UTC
tiny config # emerge --info
Portage 2.1.6.13 (default/linux/arm/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.32-rc2 armv5tel)
=================================================================
System uname: Linux-2.6.32-rc2-armv5tel-Feroceon_88FR131_rev_1_-v5l-with-gentoo-1.12.11.1
Timestamp of tree: Wed, 30 Sep 2009 01:45:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1
dev-lang/python:     2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="arm"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-Os -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -march=armv5te -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="acl arm berkdb bzip2 cli cracklib crypt cups fortran gdbm gpm iconv ipv6 isdnlog modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga nv r128 radeon savage sis tdfx trident     vga voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

tiny config #
Comment 5 John L. Poole 2009-09-30 18:49:07 UTC
I should add, in /etc/portage/package.keywords I have (and tried):

   #=dev-java/java-config-2.1.9-r1 ~arm
   dev-java/java-config **
Comment 6 Petteri Räty (RETIRED) gentoo-dev 2009-10-01 22:13:05 UTC
What would you use java-config for even if it did ship an arm config file? java-config is only useful with ebuild installed JDKs which I don't think we have in the main tree for arm. java-config could be used with hand written config files but I doubt that's the case here as then you would be able to write the java-config defaults files too.
Comment 7 John L. Poole 2009-10-01 22:29:17 UTC
It appears that I cannot install Sun's JDK through emerge unless java-config supports ARM.  

Is there a decision to not support the Java JDK on the ARM platform?
Comment 8 Petteri Räty (RETIRED) gentoo-dev 2009-10-02 07:54:44 UTC
(In reply to comment #7)
> It appears that I cannot install Sun's JDK through emerge unless java-config
> supports ARM.  
> 
> Is there a decision to not support the Java JDK on the ARM platform?
> 

The Sun JDKs we have in tree are their compiled binaries and as far as I know Sun doesn't support arm so there's no need for java-config either. In java overlay there's icedtea6 that can be made to work with arm.
Comment 9 John L. Poole 2009-10-02 17:03:02 UTC
I misunderstood/read a posting at:
http://plugcomputer.org/plugforum/index.php?topic=161.0
which caused me to erroneously conclude that Sun's JDK was running on the ARM5.

In fact, just recently in August 2009, Sun announced it does offer a binary package for the ARM5 architecture; however, it seems it is a trial version (90 days) and requires licensing & disclosure of intended use &etc.

"New! Java SE for Embedded 6u10 (Build 39) Early Access on Linux ARMv5, v6 & v7 is now available for both headless and headful configurations. Download the free evaluation today! " at http://java.sun.com/javase/embedded/

So, what prompted this bug: my wanting to install Sun's JDK on an ARM5 platform was misguided.  However, this bug does document that currently there is no Java platform for the ARM5 architecture. 

I'm wanting to install the Jabber server offered by
http://www.igniterealtime.org/projects/openfire/

I'll do a little more research in the area and update this bug further.  I don't know if this bug should be closed and a new one open to track the larger issue of Java on the ARM5 platform.  Please let me know how you think this issue should be documented: whether as a continuation in this bug, or in a new bug.
Comment 10 John L. Poole 2009-10-02 17:30:27 UTC
There is a built-in dependency of the Sun SDK for the Openfire server:
tiny ~ # emerge -p openfire

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-im/jabber-base-0.01
[ebuild  NS   ] dev-java/java-config-2.1.9-r1 [1.3.7-r1]
[ebuild  N    ] dev-java/sun-jdk-1.6.0.16  USE="-X -alsa -derby -doc -examples -jce (-nsplugin) -odbc"
[ebuild  N    ] virtual/jdk-1.6.0
[ebuild  N    ] dev-java/ant-core-1.7.1-r4  USE="-doc -source"
[ebuild  N    ] virtual/jre-1.6.0
[ebuild  N    ] dev-java/xml-commons-external-1.3.04  USE="-doc -source"
[ebuild  N    ] dev-java/bcel-5.2  USE="-doc -source"
[ebuild  N    ] dev-java/xml-commons-resolver-1.2  USE="-doc -source"
[ebuild  N    ] dev-java/xjavac-20041208-r5
[ebuild  N    ] dev-java/xalan-serializer-2.7.1  USE="-doc -source"
[ebuild  N    ] dev-java/xerces-2.9.1  USE="-doc -examples -source"
[ebuild  N    ] dev-java/ant-contrib-1.0_beta2-r2  USE="-doc -source"
[ebuild  N    ] net-im/openfire-3.6.4  USE="-doc"
tiny ~ #

The reference to "icedtea6" is to dev-java/icedtea6-bin  http://icedtea.classpath.org

The previously referenced link at http://plugcomputer.org/plugforum/index.php?topic=161.0 is to a discussion thread titled  "Java instalation - sudo apt-get install sun-java6-jre" [sic]

I'm guessing that since Sun is expecting a license fee for its binary build of the JRE 1.6 on the ARM5 platform, then basically the Sun JDK cannot be available on the ARM5 (even were it possible to install) as it would cannibalize their hope for revenues on the proprietary build, so there most likely is a legal gating factor, as well.  

In which case, I do not see any more point to having this bug open.  My task will be to explore how to get the Ignite Openfire server running on the ARM5 using the icedtea6 Java.

Thank you for your help in guiding me through this learning process.
Comment 11 Mario Fetka (geos_one) 2010-05-20 12:30:46 UTC
just for info my overlay already contains java pkg for armv5 and also a patched ebuild for java-config to install a jdk-defaults-arm.conf 
that at the moment only provides icedtea6-bin(took the fedora package and repackaged it to comply with the intree icedtea package) and icedtea:6 (if the compile ever finisches)

here the link to my overlay http://ftp.disconnected-by-peer.at/pub/overlay/geos_one-overlay.xml

the overlay is named go-orion5x
Comment 12 John L. Poole 2010-07-25 11:26:09 UTC
I'm not versant with overlays and do not know where to place the geos_one-overlay.xml file referenced in Comment #11.

The documentation at http://www.gentoo.org/proj/en/overlays/userguide.xml does not indicate where overlay configurations outside of hosted ones should be placed within the file system.  

So my questions are:
1) where should I place the geos_one-overlay.xml on my local file system
2) what do I do to add it?  execute layman with a modified path, or modify some configuration file so laymen sees geos_one-overlay.xml?
Comment 13 Mario Fetka (geos_one) 2010-07-25 12:18:42 UTC
(In reply to comment #12)
> I'm not versant with overlays and do not know where to place the
> geos_one-overlay.xml file referenced in Comment #11.

so in detail you have to add a new overlay file location to the layman.cfg
the file should look like this afterward

/etc/layman/layman.cfg 
"
.....
.....
.....
overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
            http://ftp.disconnected-by-peer.at/pub/overlay/geos_one-overlay.xml
.....
.....
.....
"


then you can add the go-orion5x overlay:
layman -f (fetch the list of overlay specified by the layman overlay files *.xml)
 
layman -a go-orion5x (add the go-orion5x overlay)

thx
Mario