Description of problem: Azureus will not start. See error message below. I was asked to file a new bug report in the thread attached to bug #216485 Version-Release number of selected component (if applicable): azureus-2.5.0.0-9.fc6 eclipse-*-3.2.1-23.fc6 libswt3-gtk2-3.2.1-23.fc6 bouncycastle-1.34-1 Sun JRE 1.5.0-09 How reproducible: Always Steps to Reproduce: 1. Update azureus, eclipse, libswt3-gtk2 and bouncycastle to the latest release versions 2. Run azureus Actual results: $ azureus Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/spec/ECParameterSpec at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.<init>(CryptoManagerImpl.java:75) at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.getSingleton(CryptoManagerImpl.java:60) at com.aelitis.azureus.core.security.CryptoManagerFactory.getSingleton(CryptoManagerFactory.java:33) at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>(AzureusCoreImpl.java:155) at com.aelitis.azureus.core.impl.AzureusCoreImpl.create(AzureusCoreImpl.java:92) at com.aelitis.azureus.core.AzureusCoreFactory.create(AzureusCoreFactory.java:46) at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:143) at org.gudy.azureus2.ui.swt.Main.main(Main.java:162)
I get a similar problem. $azureus & changeLocale: *Default Language* != English (United States). Searching without country.. changeLocale: Searching for language English in *any* country.. changeLocale: no message properties for Locale 'English (United States)' (en_US), using 'English (default)' Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/spec/ECParameterSpec at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.<init>(CryptoManagerImpl.java:75) at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.getSingleton(CryptoManagerImpl.java:60) at com.aelitis.azureus.core.security.CryptoManagerFactory.getSingleton(CryptoManagerFactory.java:33) at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>(AzureusCoreImpl.java:155) at com.aelitis.azureus.core.impl.AzureusCoreImpl.create(AzureusCoreImpl.java:92) at com.aelitis.azureus.core.AzureusCoreFactory.create(AzureusCoreFactory.java:46) at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:143) at org.gudy.azureus2.ui.swt.Main.main(Main.java:162) The only difference with me is that I am using Sun Java 1.6.0-RC and eclipse is not installed
The class is in the new jar: $ jar tf /usr/share/java/gcj-endorsed/bcprov-1.34.jar | grep ECParameterSpec org/bouncycastle/jce/spec/ECParameterSpec.class How does Azureus load this jar? Does it rely on it being on the endorsed classpath or load it directly?
It specifies it directly: $ tail -n 1 /usr/bin/azureus LD_LIBRARY_PATH=/usr/lib/eclipse:/usr/lib CLASSPATH=/usr/share/java/gcj-endorsed/bcprov-1.33.jar:/usr/lib/eclipse/swt-gtk-3.2.jar:`build-classpath jakarta-commons-cli log4j gtk2.8 glib0.2`:/usr/share/azureus/Azureus2.jar java -Dgnu.gcj.runtime.VMClassLoader.library_control=never -Dazureus.install.path=$APPDIR org.gudy.azureus2.ui.swt.Main "$@" Anthony, do you want an unversioned bcprov.jar symlink in /usr/share/java to rely on, rather than relying on a specific version? The new layout I'm considering is: /usr/share/java/bcprov-1.34.jar /usr/share/java/bcprov.jar -> bcprov-1.34.jar /usr/share/java/gcj-endorsed/bcprov.jar -> /usr/share/java/bcprov.jar That way VMs that don't load endorsed jars from /usr/share/java/gcj-endorsed can be supported by adding /usr/share/java/bcprov.jar to the classpath.
I built bouncycastle-1.34-2.fc6 into dist-fc6-updates-candidate, which includes this layout: /usr/share/java/bcprov-1.34.jar /usr/share/java/bcprov.jar -> bcprov-1.34.jar /usr/share/java/gcj-endorsed/bcprov-1.34.jar -> /usr/share/java/bcprov-1.34.jar Please rebuild Azureus to include /usr/share/java/bcprov.jar on its CLASSPATH so that it is insulated from future BouncyCastle version updates.
(In reply to comment #4) > Please rebuild Azureus to include /usr/share/java/bcprov.jar on its CLASSPATH so > that it is insulated from future BouncyCastle version updates. Thanks. The rebuilt version should show up in FC-6 and rawhide shortly.
Just tried to run azureus-2.5.0.0-11.fc6 and I am still getting the same problems. [root@FC6-P4-2266 ~]# azureus & [1] 3455 [root@FC6-P4-2266 ~]# changeLocale: *Default Language* != English (United States). Searching without country.. changeLocale: Searching for language English in *any* country.. changeLocale: no message properties for Locale 'English (United States)' (en_US), using 'English (default)' Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/spec/ECParameterSpec at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.<init>(CryptoManagerImpl.java:75) at com.aelitis.azureus.core.security.impl.CryptoManagerImpl.getSingleton(CryptoManagerImpl.java:60) at com.aelitis.azureus.core.security.CryptoManagerFactory.getSingleton(CryptoManagerFactory.java:33) at com.aelitis.azureus.core.impl.AzureusCoreImpl.<init>(AzureusCoreImpl.java:155) at com.aelitis.azureus.core.impl.AzureusCoreImpl.create(AzureusCoreImpl.java:92) at com.aelitis.azureus.core.AzureusCoreFactory.create(AzureusCoreFactory.java:46) at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:143) at org.gudy.azureus2.ui.swt.Main.main(Main.java:162)