This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcj question.


I would like to run this code

  $ cat main.java
  import java.io.FileOutputStream;
  import java.io.ObjectOutputStream;

  class main {
    public static void main(String [] args) {
      try {
	final FileOutputStream output = new FileOutputStream("storage");
	final ObjectOutputStream objectOut = new ObjectOutputStream(output);
	final widget w = new widget();
	objectOut.writeObject(w);
	}
      catch (Exception e) { System.err.println(e + " excption caught."); }
      }
    }

  $ cat widget.java
  import java.io.Serializable;
  import java.util.LinkedList;

  public class widget
  implements Serializable {
    }

  $ 

under gcj but am not having much luck:

  $ echo $CLASSPATH


  $ gcj --version
  gcj (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1)
  Copyright (C) 2006 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  $ rm *.o

  $ gcj -c widget.java main.java

  $ gcj -o a.out --main=main *.o

  $ ./a.out
  Exception in thread "main" java.lang.NoClassDefFoundError:
  org.metastatic.jessie.provider.SRPTrustManagerFactory
     at java.lang.Class.initializeClass(libgcj.so.7)
     at java.lang.Class.forName(libgcj.so.7)
     at java.lang.Class.forName(libgcj.so.7)
     at org.metastatic.jessie.provider.Jessie.class$(jsse-1.0.1.jar.so)
     at org.metastatic.jessie.provider.Jessie$1.run(jsse-1.0.1.jar.so)
     at java.security.AccessController.doPrivileged(libgcj.so.7)
     at org.metastatic.jessie.provider.Jessie.<init>(jsse-1.0.1.jar.so)
     at java.lang.Class.newInstance(libgcj.so.7)
     at java.security.Security.loadProviders(libgcj.so.7)
     at java.security.Security.<clinit>(libgcj.so.7)
     at java.lang.Class.initializeClass(libgcj.so.7)
     at java.security.Security.getProviders(libgcj.so.7)
     at java.security.MessageDigest.getInstance(libgcj.so.7)
     at java.io.ObjectStreamClass.getClassUID(libgcj.so.7)
     at java.io.ObjectStreamClass.<init>(libgcj.so.7)
     at java.io.ObjectStreamClass.lookupForClassObject(libgcj.so.7)
     at java.io.ObjectOutputStream.writeObject(libgcj.so.7)
     at main.main(a.out)
  Caused by: java.lang.ClassNotFoundException: gnu.crypto.sasl.srp.PasswordFile
  not found in
  gnu.gcj.runtime.BootClassLoader{urls=[file:/usr/share/java/gcj-endorsed/jsse.jar,file:/usr/share/java/gcj-endorsed/bcprov-1.34.jar,core:/], parent=null}
     at java.net.URLClassLoader.findClass(libgcj.so.7)
     at java.lang.ClassLoader.loadClass(libgcj.so.7)
     at java.lang.ClassLoader.loadClass(libgcj.so.7)
     at java.lang.Class.initializeClass(libgcj.so.7)
     ...17 more

  $ 

On the other hand, java handles it:

  $ rm -f *.class storage

  $ javac *.java

  $ java main

  $ ls -l storage 
  -rw-r--r-- 1 clayton clayton 27 Jan 17 17:27 storage

  $ java -version
  java version "1.4.2_03"
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
  Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)

  $ 

I have not yet discovered a useful google query for this problem.  What is a
more direct pointer to more information or, better yet, a description of this
problem and its fix?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]