Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 307213 - dev-java/icedtea fails to cross-compile: ld: cannot find -ljvm
Summary: dev-java/icedtea fails to cross-compile: ld: cannot find -ljvm
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: AMD64 Linux
: High normal with 1 vote (vote)
Assignee: Andrew John Hughes
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: icedtea-tracker
  Show dependency tree
 
Reported: 2010-02-28 17:57 UTC by Thomas Sachau
Modified: 2018-02-07 18:06 UTC (History)
6 users (show)

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


Attachments
build.log of working 6.1.7-r1 (dev-java:icedtea-6.1.7-r1:20100227-110015.log.bz2,384.78 KB, text/plain)
2010-03-01 20:22 UTC, Thomas Sachau
Details
adjusted icedtea-6.1.6.0.ebuild for work with multilib-portage (icedtea-6.1.8.0.ebuild,10.56 KB, text/plain)
2010-04-18 13:49 UTC, Thomas Sachau
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Sachau gentoo-dev 2010-02-28 17:57:23 UTC
Previous version (6.1.7-r1) worked fine, last lines of build.log:

make[6]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make/sun/corba/core'
Done with parallel compiles: /var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make/sun/corba/core
STATS: LIBRARY=ioser12, PRODUCT=sun, _OPT=-O2 
Rebuilding /var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/lib/i386/libioser12.so because of /var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/obj/.files_compiled mapfile-vers
/usr/bin/gcc  -O2    -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN   -D_i586_ -Di586 -DARCH='"i586"' -DLINUX -DRELEASE='"1.6.0_17"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -I. -I/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/CClassHeaders -I../../../../src/solaris/javavm/export -I../../../../src/share/javavm/export -I../../../../src/share/javavm/include -I../../../../src/solaris/javavm/include -ICClassHeaders -I/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/bootstrap/jdk1.6.0/include -I/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/bootstrap/jdk1.6.0/include/linux -I../../../../src/share/native/common -I../../../../src/solaris/native/common -I../../../../src/share/native/com/sun/corba/se/internal/io -I../../../../src/solaris/native/com/sun/corba/se/internal/io   -Xlinker -O1 -Xlinker -version-script=mapfile-vers  -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN  -Xlinker -z -Xlinker defs -L/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/lib/i386 -Wl,-soname=libioser12.so   -shared -mimpure-text -o /var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/lib/i386/libioser12.so    /var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/tmp/sun/com.sun.corba.se.internal.io/ioser12/obj/ioser.o   -L/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/bootstrap/jdk1.6.0/jre/lib/i386/server -ljvm  -L/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/bootstrap/jdk1.6.0/jre/lib/i386 -ljava -L/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/bootstrap/jdk1.6.0/jre/lib/i386/server -ljvm -lc
/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -ljvm
collect2: ld returned 1 exit status
make[5]: *** [/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/build/linux-i586/corba/lib/i386/libioser12.so] Error 1
make[5]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make/sun/corba/core'
make[4]: *** [build] Error 1
make[4]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make/sun/corba'
make[3]: *** [build] Error 1
make[3]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make/sun'
make[2]: *** [build] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk/corba/make'
make[1]: *** [corba-build] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-java/icedtea-6.1.7.1/work/icedtea6-1.7.1/openjdk'
make: *** [stamps/icedtea.stamp] Error 2


emerge --info:

Portage 2.2_rc63-r1 (unavailable, gcc-4.4.3, glibc-2.11-r1, 2.6.32-hardened-r3 x86_64)
=================================================================
System uname: Linux-2.6.32-hardened-r3-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sun Feb 28 07:40:35 CET 2010
ccache version 2.4 [disabled]
app-shells/bash:     4.1_p2
dev-java/java-config: 2.1.9-r2
dev-lang/python:     2.6.4-r1, 3.1.1-r1
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.10.3, 1.11.1
sys-devel/binutils:  2.20-r1
sys-devel/gcc:       4.3.4-r2, 4.4.3-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.32
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/home/thomas/daten/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
FEATURES="assume-digests collision-protect distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms sign strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
INSTALL_MASK="/usr/share/gtk-doc"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j5 --load-average=8"
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"
PORTDIR_OVERLAY="/usr/local/portage/layman/multilib-overlay /usr/local/portage/layman/sunrise /usr/local/portage/layman/java-overlay /usr/local/portage/layman/enlightenment /usr/local/portage/layman/hardened-development /usr/local/portage"
SYNC="cvs://tommy@cvs.gentoo.org:/var/cvsroot"
USE="3dnow X alsa amd64 berkdb cli cracklib crypt cups custom-cflags custom-cxxflags custom-optimization cxx dri gpm hardened java5 java6 justify lib32 mmx modules mudflap multilib ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pic pppd readline reflection scanner session spl sse sse2 ssl sysfs tcpd unicode urandom vorbis xorg zlib" ALSA_CARDS="hda-intel" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Unset:  CPPFLAGS, CTARGET, FFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Reproducible: Always

Steps to Reproduce:
Comment 1 Thomas Sachau gentoo-dev 2010-03-01 20:22:11 UTC
Created attachment 221693 [details]
build.log of working 6.1.7-r1
Comment 2 Andrew John Hughes 2010-03-01 21:57:06 UTC
It's not designed to cross compile.
Comment 3 Thomas Sachau gentoo-dev 2010-04-18 13:48:48 UTC
I have a local, modified and adjusted ebuild of icedtea, which does the needed work for me and does allow me to crosscompile it.
It needs $arch to be set before compiling and does only work, if dpkg is not installed.
Comment 4 Thomas Sachau gentoo-dev 2010-04-18 13:49:55 UTC
Created attachment 228271 [details]
adjusted icedtea-6.1.6.0.ebuild for work with multilib-portage
Comment 5 Miroslav Šulc gentoo-dev 2011-10-19 14:30:12 UTC
this version is not available anymore. please try latest version. if the problem persists, feel free to reopen this bug.
Comment 6 Thomas Sachau gentoo-dev 2011-10-19 17:28:22 UTC
(In reply to comment #5)
> this version is not available anymore. please try latest version. if the
> problem persists, feel free to reopen this bug.

Please check the content of the bug before closing it because of the version specified in the original summary.

Cross-compiling icedtea will always fail with the current ebuilds, since it will always get the path to the 64bit java libs, even when cross-compiling for 32bit.

So i am dropping the version bit from the summary and reopen the bug.
Comment 7 Miroslav Šulc gentoo-dev 2011-10-19 18:08:54 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > this version is not available anymore. please try latest version. if the
> > problem persists, feel free to reopen this bug.
> 
> Please check the content of the bug before closing it because of the version
> specified in the original summary.
> 
> Cross-compiling icedtea will always fail with the current ebuilds, since it
> will always get the path to the 64bit java libs, even when cross-compiling for
> 32bit.
> 
> So i am dropping the version bit from the summary and reopen the bug.

sorry, with the amount of open bugs java herd has (~750) it's hard to dig deep into each of those years old bugs rather than just check versions and dates (here 18 months since last post) and some basic info than digging into each such bug in depth. if the bug still exists and it is still of interest to the interested parties, someone comes and reopens it (as you did). but most of these bugs are just outdated.

it would be definitely great if you could help andrew to adjust the latest ebuilds (6.1.10.4 and 7.2.0 as of this writing) so that they would crosscompile as there are people like you that need this feature. i guess patches for these latest ebuilds would be best.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-02-07 17:53:57 UTC
Is there anything that can be realistically done here?
Comment 9 James Le Cuirot gentoo-dev 2018-02-07 18:06:35 UTC
I've been told by upstream that it should be possibly to cross-compile icedtea but I've never tried it. I could give it a shot.