xulrunner compile fails w/ java use flag. configure: error: The header jni.h was not found. Set $JAVA_HOME to your java s dk directory, use --with-java-bin-path={java-bin-dir}, or reconfigure with --dis able-javaxpcom. !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-libs/xulrunner-1.9.1-r1/work/mozilla-1.9.1/config.log * * ERROR: net-libs/xulrunner-1.9.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_configure * environment, line 5280: Called econf * ebuild.sh, line 534: Called die * The specific snippet of code: * die "econf failed" * The die message: * econf failed * * If you need support, post the topmost build error, and the call stack if rele vant. * A complete build log is located at '/var/tmp/portage/net-libs/xulrunner-1.9.1 -r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-libs/xulrunne r-1.9.1-r1/temp/environment'. * !!! When you file a bug report, please include the following information: GENTOO_VM=sun-jre-bin-1.6 CLASSPATH="" JAVA_HOME="/opt/sun-jre-bin-1.6.0.14" JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="" and of course, the output of emerge --info Reproducible: Always Steps to Reproduce: 1. emerge -va xulrunner 2. 3. Actual Results: Portage 2.2_rc33 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r2 x86_64) ================================================================= System uname: Linux-2.6.30-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9400_@_2.53GHz-with-gentoo-2.0.1 Timestamp of tree: Tue, 28 Jul 2009 13:30:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p28 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.4.4-r15, 2.6.2-r1 dev-python/pycrypto: 2.0.1-r8 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.4-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" 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 /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=core2" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo/ " LANG="en_US.utf8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j3" 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.gentoo.org/gentoo-portage" USE="R X a52 aac acl acpi alsa amd64 apache2 avi bash-completion berkdb bittorrent blender-game bluetooth bonobo branding bzip2 c++ cairo cdr cli cracklib crypt cups dbus dhcp dirac divx dri dvd dvdr dvdread emboss encode esd evo fam fame ffmpeg firefox flac fortran fuse gdbm gif gimp gnome gpm gstreamer gtk hal iconv ipv6 irc isdnlog jingle jpeg kde lame ldap libnotify mad midi mikmod mmx mp2 mp3 mp4 mp4live mpeg mpeg2 mplayer mudflap multilib ncurses nls nptl nptlonly nsplugin ogg ogm opengl openmp pam pcre pdf perl png ppds pppd pstricks python qt3support qt4 quicktime readline reflection scim sdl session sid spell spl sse sse2 sse3 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vcd vorbis wma wmf wmp xcb xine xinerama xml xorg xosd xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="intel vesa radeon radeonhd" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 199441 [details] build log build log
Please post the output of java-config -fvOo
root@box:~# java-config -fvOo sun-jre-bin-1.6 java version "1.6.0_14" Java(TM) SE Runtime Environment (build 1.6.0_14-b08) Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode) /opt/sun-jre-bin-1.6.0.14 /opt/sun-jre-bin-1.6.0.14
please post java-config-2 -L It appears you do not have any generation 2 java set for system.
root@box:~# java-config-2 -L The following VMs are available for generation-2: 1) IcedTea6-bin 1.4.1 [icedtea6-bin] *) Sun JRE 1.6.0.14 [sun-jre-bin-1.6] root@box:~# java-check-environment * === Java Environment Checker === * The purpose of this script is to check the sanity of your Java Environment. * We have significantly changed and improved the way Java is handled in many * respects. * Please refer to our upgrade guide for details: * http://www.gentoo.org/proj/en/java/java-upgrade.xml * Checking fastjar... [ ok ] * Checking vm_environment_files... [ ok ] * Checking user_settings... * Running as root. Don't need to check user settings. [ ok ] * Checking generation_1_system_vm... [ ok ] * Checking java_config_1... [ ok ] * Checking global_classpath... [ ok ] * Checking virtual_provides... [ ok ] * Checking overlays_eclasses... [ ok ] * Checking package_env... grep: /usr/share/*/package.env: No such file or directory grep: /usr/share/*/package.env: No such file or directory [ ok ] * Checking proc_mounted... [ ok ] * Java environment is sane. Congratulations!
thanks for the report, After further review of your build.log I noticed it failed to find the jni header, even missed it in your first post, The dev will need to be updated to include a sdk rather then accepting a jre to fullfil the dep.
(In reply to comment #6) > thanks for the report, After further review of your build.log I noticed it > failed to find the jni header, even missed it in your first post, The dev will > need to be updated to include a sdk rather then accepting a jre to fullfil the > dep. > Actually the dep is correct do you have a package.provided file in /etc/portage? If so I would like to see it on the bug report, right now you should have a virtual/jdk installed that actually points to a useful java development kit.
No package.provided here.. root@box:/etc/portage# ls bin package.mask package.unmask package.use postsync.d savedconfig sets root@box:/etc/portage# eix -Ic jdk [I] virtual/jdk (1.6.0(1.6)@07/22/2009): Virtual for JDK root@box:/etc/portage# eix virtual/jdk [I] virtual/jdk Available versions: (1.4) 1.4.1 1.4.2 (1.5) 1.5.0 (1.6) 1.6.0 Installed versions: 1.6.0(1.6)(10:07:42 AM 07/22/2009) Homepage: http://java.sun.com/ Description: Virtual for JDK
(In reply to comment #8) > No package.provided here.. > > root@box:/etc/portage# ls > bin package.mask package.unmask package.use postsync.d savedconfig sets > > root@box:/etc/portage# eix -Ic jdk > [I] virtual/jdk (1.6.0(1.6)@07/22/2009): Virtual for JDK > root@box:/etc/portage# eix virtual/jdk > [I] virtual/jdk > Available versions: > (1.4) 1.4.1 1.4.2 > (1.5) 1.5.0 > (1.6) 1.6.0 > Installed versions: 1.6.0(1.6)(10:07:42 AM 07/22/2009) > Homepage: http://java.sun.com/ > Description: Virtual for JDK > The problem is IceTea is being used to provide a jdk-1.6 setup. This particular jdk does not include all headers that are needed by the package. I am trying to get in touch with the java herd to see how we can resolve this. I will get back to you just as soon as I know. Thanks for your patients.
(In reply to comment #9) > (In reply to comment #8) > > No package.provided here.. > > > > root@box:/etc/portage# ls > > bin package.mask package.unmask package.use postsync.d savedconfig sets > > > > root@box:/etc/portage# eix -Ic jdk > > [I] virtual/jdk (1.6.0(1.6)@07/22/2009): Virtual for JDK > > root@box:/etc/portage# eix virtual/jdk > > [I] virtual/jdk > > Available versions: > > (1.4) 1.4.1 1.4.2 > > (1.5) 1.5.0 > > (1.6) 1.6.0 > > Installed versions: 1.6.0(1.6)(10:07:42 AM 07/22/2009) > > Homepage: http://java.sun.com/ > > Description: Virtual for JDK > > > > The problem is IceTea is being used to provide a jdk-1.6 setup. This particular > jdk does not include all headers that are needed by the package. I am trying to > get in touch with the java herd to see how we can resolve this. I will get back > to you just as soon as I know. Thanks for your patients. > could you run a `locate jni.h` on your system, it appears as if icetea6-bin-1.4.1 does have the header I am just curious to know weather or not it is being installed on the system.
Created attachment 199773 [details] full emerge using icedtea6-bin-1.4.1 For the sake of testing, I have just removed all sdk's I had installed, installed icedtea6-bin and tested xulrunner, I had a complete compile without error. The following might help : dev-java/icedtea6-bin-1.4.1 USE="X alsa -doc -examples -nsplugin -source"
> could you run a `locate jni.h` on your system, it appears as if > icetea6-bin-1.4.1 does have the header I am just curious to know weather or not > it is being installed on the system. root@box:~# locate jni.h /opt/xulrunner/include/jni.h /opt/xulrunner/include/java/jni.h /opt/icedtea6-bin-1.4.1/include/jni.h /usr/include/xulrunner-1.9.1/unstable/jni.h /usr/include/xulrunner-1.9.1/stable/jni.h
(In reply to comment #11) > Created an attachment (id=199773) [edit] > full emerge using icedtea6-bin-1.4.1 > > For the sake of testing, I have just removed all sdk's I had installed, > installed icedtea6-bin and tested xulrunner, I had a complete compile without > error. The following might help : > > dev-java/icedtea6-bin-1.4.1 USE="X alsa -doc -examples -nsplugin -source" root@box:~# eix -I sdk No matches found. root@box:~# eix icedtea6-bin [I] dev-java/icedtea6-bin Available versions: (~)1.3.1-r1!s!t (~)1.4!s (~)1.4.1!s {X alsa doc examples nsplugin source} Installed versions: 1.4.1!s(10:07:36 AM 07/22/2009)(X alsa nsplugin -doc -examples -source) Homepage: http://icedtea.classpath.org Description: A Gentoo-made binary build of the icedtea6 JDK icedtea6-bin is present on my system.
(In reply to comment #5) > root@box:~# java-config-2 -L > The following VMs are available for generation-2: > 1) IcedTea6-bin 1.4.1 [icedtea6-bin] > *) Sun JRE 1.6.0.14 [sun-jre-bin-1.6] > > root@box:~# java-check-environment > * === Java Environment Checker === > * The purpose of this script is to check the sanity of your Java Environment. > * We have significantly changed and improved the way Java is handled in many > * respects. > * Please refer to our upgrade guide for details: > * http://www.gentoo.org/proj/en/java/java-upgrade.xml > > * Checking fastjar... [ ok > ] > > * Checking vm_environment_files... [ ok > ] > > * Checking user_settings... > * Running as root. Don't need to check user settings. [ ok > ] > > * Checking generation_1_system_vm... [ ok > ] > > * Checking java_config_1... [ ok > ] > > * Checking global_classpath... [ ok > ] > > * Checking virtual_provides... [ ok > ] > > * Checking overlays_eclasses... [ ok > ] > > * Checking package_env... > grep: /usr/share/*/package.env: No such file or directory > grep: /usr/share/*/package.env: No such file or directory [ ok > ] > > * Checking proc_mounted... [ ok > ] > > * Java environment is sane. Congratulations! > If you could please "java-config-2 --set-system-vm 1" this will set it to icedtea-bin, if this resolve the problem I will have to look into setting the jdk via the ebuild.
Same errors... root@box:~# java-config-2 --set-system-vm 1 Now using icedtea6-bin as your generation-2 system JVM root@box:~# vi /etc/portage/package.use root@box:~# emerge -va xulrunner These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-libs/xulrunner-1.9.1.1-r1 USE="dbus gnome java* python star tup-notification -custom-optimization -debug" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] y >>> Verifying ebuild manifests >>> Emerging (1 of 1) net-libs/xulrunner-1.9.1.1-r1 * firefox-3.5.1-source.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * xulrunner-1.9.1.1-patches-0.2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] !!! ERROR: The javac executable was not found in the Java path * Using: sun-jre-bin-1.6 <snip> !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-libs/xulrunner-1.9.1.1-r1/work/mozilla-1.9.1/config.log * * ERROR: net-libs/xulrunner-1.9.1.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_configure * environment, line 5586: Called econf * ebuild.sh, line 534: Called die * The specific snippet of code: * die "econf failed" * The die message: * econf failed * * If you need support, post the topmost build error, and the call stack if rele vant. * A complete build log is located at '/var/tmp/portage/net-libs/xulrunner-1.9.1 .1-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-libs/xulrunne r-1.9.1.1-r1/temp/environment'. * !!! When you file a bug report, please include the following information: GENTOO_VM=sun-jre-bin-1.6 CLASSPATH="" JAVA_HOME="/opt/sun-jre-bin-1.6.0.14" JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="" and of course, the output of emerge --info >>> Failed to emerge net-libs/xulrunner-1.9.1.1-r1, Log file: >>> '/var/tmp/portage/net-libs/xulrunner-1.9.1.1-r1/temp/build.log' * Messages for package net-libs/xulrunner-1.9.1.1-r1: * * ERROR: net-libs/xulrunner-1.9.1.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_configure * environment, line 5586: Called econf * ebuild.sh, line 534: Called die * The specific snippet of code: * die "econf failed" * The die message: * econf failed * * If you need support, post the topmost build error, and the call stack if rele vant. * A complete build log is located at '/var/tmp/portage/net-libs/xulrunner-1.9.1 .1-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-libs/xulrunne r-1.9.1.1-r1/temp/environment'. *
Created attachment 199971 [details] /var/tmp/portage/net-libs/xulrunner-1.9.1.1-r1/work/mozilla-1.9.1/config.log /var/tmp/portage/net-libs/xulrunner-1.9.1.1-r1/work/mozilla-1.9.1/config.log
I am out of ideals, only thing we can do is wait for java team to speak up. Anyone from java herd that can comment would be appreciated I have thrown all the ideals that I can come up with.
Still broken w/ 1.9.1.2 root@box:~# emerge -va xulrunner These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-libs/xulrunner-1.9.1.2 USE="alsa dbus gnome java* python st artup-notification -custom-optimization -debug -hardened" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] yes >>> Verifying ebuild manifests >>> Emerging (1 of 1) net-libs/xulrunner-1.9.1.2 * firefox-3.5.2-source.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * xulrunner-1.9.1.2-patches-0.2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] !!! ERROR: The javac executable was not found in the Java path * Using: sun-jre-bin-1.6 >>> Unpacking source... >>> Unpacking firefox-3.5.2-source.tar.bz2 to /var/tmp/portage/net-libs/xulrunne r-1.9.1.2/work ^C Exiting on signal 2 root@box:~# java-config-2 -L The following VMs are available for generation-2: *) IcedTea6-bin 1.4.1 [icedtea6-bin] 2) Sun JRE 1.6.0.15 [sun-jre-bin-1.6] root@box:~# any idea why it states " Using: sun-jre-bin-1.6" when IcedTea is selected?
I had the same problem: it seems as though emerge tried to use the jre in the build process instead of a jdk. $ java-config -L The following VMs are available for generation-2: 1) IcedTea6-bin 1.4.1 [icedtea6-bin] *) Sun JRE 1.6.0.15 [sun-jre-bin-1.6] I solved this by modifying /etc/java-config-2/build/jdk.conf Added at the end of /etc/java-config-2/build/jdk.conf: *=icedtea6-bin
(In reply to comment #19) > I had the same problem: it seems as though emerge tried to use the jre in the > build process instead of a jdk. > > $ java-config -L > The following VMs are available for generation-2: > 1) IcedTea6-bin 1.4.1 [icedtea6-bin] > *) Sun JRE 1.6.0.15 [sun-jre-bin-1.6] > > I solved this by modifying /etc/java-config-2/build/jdk.conf > > Added at the end of /etc/java-config-2/build/jdk.conf: > *=icedtea6-bin > This worked .. root@box:~# eix -Ic xulrunner [I] net-libs/xulrunner (1.9.1.2(1.9)@08/10/2009): Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications [I] net-libs/xulrunner-bin (1.8.1.19@05/08/2009): Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications Found 2 matches. root@box:~# eix -Ic firefox [I] www-client/mozilla-firefox (3.5.2@08/10/2009): Firefox Web Browser Thanks,
As user has solved issue, closing resolved. If problem should reappear please reopen.
This may be a more general issue: some ebuilds seem to ignore java system-vm settings for some reason. I had problems building OpenProj with icedtea6-bin. Although sun-jdk-1.6 was set as system-vm (as shown by eselect and java-config), emerge kept showing "Using: icedtea6-bin" and emerge failed at some later point. Modifying /etc/java-config-2/build/jdk.conf the way shown in Comment #19 (I needed to uncomment "*=sun-jdk") solved the problem and OpenProj emerged successfully. I also could not figure out where the ebuild gets the information about the VM to use (seems to be other source then stuff set by eselect/javaconfig). Is this kind of behaviour a bug?