The Java VM failed Reproducible: Always Steps to Reproduce: 1.emerge gnu-crypto Actual Results: Calculating dependencies ...done! >>> emerge (1 of 1) dev-java/gnu-crypto-2.0.1 to / >>> md5 src_uri ;-) gnu-crypto-2.0.1.tar.bz2 >>> Unpacking source... >>> Unpacking gnu-crypto-2.0.1.tar.bz2 to /var/tmp/portage/gnu-crypto-2.0.1/work >>> Source unpacked. * econf: updating gnu-crypto-2.0.1/gcj/config.guess with /usr/share/gnuconfig/config.guess * econf: updating gnu-crypto-2.0.1/gcj/config.sub with /usr/share/gnuconfig/config.sub * econf: updating gnu-crypto-2.0.1/config.guess with /usr/share/gnuconfig/config.guess * econf: updating gnu-crypto-2.0.1/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-jce=yes --with-sasl=yes configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip checking whether to enable maintainer-specific portions of Makefiles... no You have CLASSPATH .;/opt/tomcat5/common/lib/servlet-api.jar, hope it is correct checking if /opt/sun-jdk-1.4.2.07/bin/javac works... yes checking for kaffe... no checking for java... java checking for uudecode... no configure: WARNING: I have to compile Test.class from scratch checking if java works... configure: error: The Java VM java failed (see config.log, check the CLASSPATH?) !!! Please attach the config.log to your bug report: !!! /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/config.log !!! ERROR: dev-java/gnu-crypto-2.0.1 failed. !!! Function econf, Line 485, Exitcode 0 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by gnu-crypto configure 2.0.1, which was generated by GNU Autoconf 2.59. Invocation command line was $ ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-jce=yes --with-sasl=yes ## --------- ## ## Platform. ## ## --------- ## hostname = ca uname -m = i686 uname -r = 2.6.11-gentoo-r4 uname -s = Linux uname -v = #1 Sat Mar 19 19:20:09 BRT 2005 /usr/bin/uname -p = AMD Athlon(tm) XP 2600+ /bin/uname -X = unknown /bin/arch = i686 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/lib/ccache/bin PATH: /sbin PATH: /usr/sbin PATH: /usr/lib/portage/bin PATH: /bin PATH: /usr/bin PATH: /usr/local/bin PATH: /opt/bin PATH: /usr/i686-pc-linux-gnu/gcc-bin/3.3.5 PATH: /opt/Acrobat5 PATH: /opt/sun-jdk-1.4.2.07/bin PATH: /opt/sun-jdk-1.4.2.07/jre/bin PATH: /opt/sun-jdk-1.4.2.07/jre/javaws PATH: /usr/qt/3/bin PATH: /usr/kde/3.3/sbin PATH: /usr/kde/3.3/bin PATH: /opt/vmware/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1340: checking for a BSD-compatible install configure:1395: result: /bin/install -c configure:1406: checking whether build environment is sane configure:1449: result: yes configure:1482: checking for gawk configure:1498: found /bin/gawk configure:1508: result: gawk configure:1518: checking whether make sets $(MAKE) configure:1538: result: yes configure:1617: checking for i686-pc-linux-gnu-strip configure:1633: found /usr/bin/i686-pc-linux-gnu-strip configure:1643: result: i686-pc-linux-gnu-strip configure:1728: checking whether to enable maintainer-specific portions of Makefiles configure:1737: result: no configure:1858: checking if /opt/sun-jdk-1.4.2.07/bin/javac works configure:1872: /opt/sun-jdk-1.4.2.07/bin/javac Test.java configure:1875: $? = 0 configure:1888: result: yes configure:1900: checking for kaffe configure:1929: result: no configure:1900: checking for java configure:1916: found /opt/sun-jdk-1.4.2.07/bin/java configure:1926: result: java configure:1985: checking for uudecode configure:2014: result: no configure:2051: WARNING: I have to compile Test.class from scratch configure:2186: checking if java works configure:2204: /opt/sun-jdk-1.4.2.07/bin/javac Test.java configure:2207: $? = 0 configure:2219: java Test Exception in thread "main" java.lang.NoClassDefFoundError: Test configure:2222: $? = 1 configure: failed program was: /* [#]line 2196 "configure" */ public class Test { public static void main (String args[]) { System.exit (0); } } configure:2228: error: The Java VM java failed (see config.log, check the CLASSPATH?) ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_env_CLASSPATH_set=set ac_cv_env_CLASSPATH_value='.;/opt/tomcat5/common/lib/servlet-api.jar' ac_cv_env_JAR_set= ac_cv_env_JAR_value= ac_cv_env_JAVACFLAGS_set= ac_cv_env_JAVACFLAGS_value= ac_cv_env_JAVAC_set=set ac_cv_env_JAVAC_value=/opt/sun-jdk-1.4.2.07/bin/javac ac_cv_env_JAVAFLAGS_set= ac_cv_env_JAVAFLAGS_value= ac_cv_env_JAVA_set= ac_cv_env_JAVA_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=i686-pc-linux-gnu ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_path_install='/bin/install -c' ac_cv_prog_AWK=gawk ac_cv_prog_JAVA=java ac_cv_prog_STRIP=i686-pc-linux-gnu-strip ac_cv_prog_javac_works=yes ac_cv_prog_make_make_set=yes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run aclocal-1.7' AMTAR='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run tar' AUTOCONF='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run autoconf' AUTOHEADER='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run autoheader' AUTOMAKE='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run automake-1.7' AWK='gawk' CHECK_FILE_SEPARATOR='' CHECK_PATH_SEPARATOR='' CLASSPATH='.;/opt/tomcat5/common/lib/servlet-api.jar' CYGPATH_W='echo' DEFS='' ECHO_C='' ECHO_N='-n' ECHO_T='' FOUND_JCE_JAR_FALSE='' FOUND_JCE_JAR_TRUE='' FOUND_SASL_JAR_FALSE='' FOUND_SASL_JAR_TRUE='' INCLUDE_FOR_MAUVE_JCE='' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' JAR='' JAVA='java' JAVAC='/opt/sun-jdk-1.4.2.07/bin/javac' JAVACFLAGS='' JAVAFLAGS='' JCE_JAR='' LIBOBJS='' LIBS='' LIBVERSION='2:0' LTLIBOBJS='' MAINT='#' MAINTAINER_MODE_FALSE='' MAINTAINER_MODE_TRUE='#' MAKEINFO='${SHELL} /var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/missing --run makeinfo' PACKAGE='gnu-crypto' PACKAGE_BUGREPORT='gnu-crypto-discuss@gnu.org' PACKAGE_NAME='gnu-crypto' PACKAGE_STRING='gnu-crypto 2.0.1' PACKAGE_TARNAME='gnu-crypto' PACKAGE_VERSION='2.0.1' PATH_SEPARATOR=':' SASL_JAR='' SET_MAKE='' SHELL='/bin/sh' SRCDIR='/var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1' STRIP='i686-pc-linux-gnu-strip' TMPDIR='/var/tmp/portage/gnu-crypto-2.0.1/temp' VERSION='2.0.1' WITH_JCE_FALSE='' WITH_JCE_TRUE='' WITH_SASL_FALSE='' WITH_SASL_TRUE='' ac_ct_STRIP='' am__leading_dot='.' bindir='${exec_prefix}/bin' build='' build_alias='' build_cpu='' build_os='' build_vendor='' datadir='/usr/share' exec_prefix='NONE' host='i686-pc-linux-gnu' host_alias='i686-pc-linux-gnu' host_cpu='' host_os='' host_vendor='' includedir='${prefix}/include' infodir='/usr/share/info' install_sh='/var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localstatedir='/var/lib' mandir='/usr/share/man' oldincludedir='/usr/include' prefix='/usr' program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='/etc' target_alias='' uudecode='' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define PACKAGE "gnu-crypto" #define PACKAGE_BUGREPORT "gnu-crypto-discuss@gnu.org" #define PACKAGE_NAME "gnu-crypto" #define PACKAGE_STRING "gnu-crypto 2.0.1" #define PACKAGE_TARNAME "gnu-crypto" #define PACKAGE_VERSION "2.0.1" #define VERSION "2.0.1" configure: exit 1
does it work with another jdk, for example with the ibm- or the blackdown-jdk?
I don't know... This package is required (by jsch) only when emerging with --deep option. I'm ignoring it and I've had no problems so far.
I'm attempting to emerge gnu-crypto as a depend using blackdown-jdk-1.4.2.01 and I'm getting the following excpetions: symbol : variable REUSE location: class javax.security.sasl.Sasl if (Sasl.REUSE.equals(propName)) { ^ ./gnu/crypto/sasl/ServerMechanism.java:187: cannot resolve symbol symbol : variable REUSE location: class javax.security.sasl.Sasl if (Sasl.REUSE.equals(propName)) { ^ 2 errors make[1]: *** [gnu/crypto/jce/GnuCrypto.class] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/gnu-crypto-2.0.1/work/gnu-crypto-2.0.1/source' make: *** [all-recursive] Error 1 !!! ERROR: dev-java/gnu-crypto-2.0.1 failed. !!! Function src_compile, Line 23, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. I'm looking for the cause now but if someone else sees it first then by all means fix it.
I've found the cause for this, and it's not pretty. javax.security.sasl.Sasl.class can be found inside the jldap.jar created by the jldap ebuild. The question is, who's responsible for that class and package? The package and class should be delivered via the project responsible for it, not inside of other packages like gnu-crypto and jldap. randd02 gnu-crypto-2.0.1 # unzip -l /usr/share/jldap/lib/ldap.jar | grep Sasl 421 09-16-04 16:04 com/novell/ldap/rfc2251/RfcSaslCredentials.class 903 09-16-04 16:04 com/novell/sasl/client/SaslProvider$1.class 7855 09-16-04 16:04 com/novell/sasl/client/DigestMD5SaslClient.class 639 09-16-04 16:04 com/novell/sasl/client/SaslProvider.class 2266 09-16-04 16:04 com/novell/sasl/client/ExternalSaslClient.class 519 09-16-04 16:04 javax/security/sasl/SaslEnumFactory$1.class 416 09-16-04 16:04 javax/security/sasl/SaslClientFactory.class 467 09-16-04 16:04 javax/security/sasl/SaslClient.class 2353 09-16-04 16:04 javax/security/sasl/Sasl.class 3171 09-16-04 16:04 javax/security/sasl/SaslEnumFactory.class 1207 09-16-04 16:04 javax/security/sasl/SaslException.class I don't think that these packages should block one another, but clearly there is going to be trouble if both have java.security.Sasl classes. I want to use both packages in my projects for obvious reasons. I have checked the files and I am 100% ceratain the GNU version was derived from the Openldap/JLDAP/Novell version without any credit to the fact. This isn't right. Neither codebase is closed source. Neither codebase has any reason for feuding. So why isn't there an effort to consolodate effort and avoid confusion? I'm going to contact the maintainers and try to find out what's up.
Oh yes, I'm sorry but my comments don't seem to answer the original bug so I will open a new bug on this. Sorry for the confusion I was lost in my work and wasn't paying any attention to the differences.
cant reproduce this one, works fine for me on different indepent systems.
Still doesn't work. Have you tried with sun-jdk-1.4.2.08?
You could have something weird with tomcat: checking whether to enable maintainer-specific portions of Makefiles... no You have CLASSPATH .;/opt/tomcat5/common/lib/servlet-api.jar, hope it is correct checking if /opt/sun-jdk-1.4.2.07/bin/javac works... yes Yes. sun-jdk-1.4.2.08 works without problems.
From your config.log: <snip> ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_env_CLASSPATH_set=set ac_cv_env_CLASSPATH_value='.;/opt/tomcat5/common/lib/servlet-api.jar' ac_cv_env_JAR_set= ac_cv_env_JAR_value= <snip> CLASSPATH uses : as the separator. I am reopening this so that I can mark this as Invalid.
User error.
I changed the separator and now it works! It was my fault, I'm sorry. Thank you.
It can sound weird but if the first run fails try again! In two different hosts (with 2 different VM) the first run failed the second run I emerged it without any problem ... I didn't investigate the cause.