Domanda

Sto cercando di costruire GNU Classpath 0,98 e JamVM 1.5.2.
A seguito della JamVM readme, ho fatto 'configurare;fare;make install " sul jamVM, e ha funzionato.

Ho poi aggiunto jamvm e Sole javac per il percorso.
Poi con GNU Classpath ho fatto questo:

./configure --enable-jni --disable-gtk-peer --disable-gconf-peer --disable-plugin

Ho ottenuto questo errore:

Il javac non è riuscito (vedi config.di registro)

Sul config.log, Vedo che javac non è possibile trovare VMStackWalker (che è jamvm specifici) Ho aggiunto il jamvm classi di CLASSPATH, quindi ho ottenuto questo errore:

La Java VM jamvm fallito (vedi config.di registro)

Sul config.log, Vedo che jamvm non riesce a trovare java.lang.Class.

Cosa c'è di sbagliato?!

È stato utile?

Altri suggerimenti

Passi per la compilazione GNU Classpath per Ubuntu12.04: https://groups.google.com/forum/#!topic/ JRuby-GSOC / -fnKnP7zxbI

Passi per la compilazione jamvm per Ubuntu 12.04: https://groups.google.com/forum/#!topic / JRuby-GSOC / uJ6RlVvHR-0

provare Corte di giustizia europea, hanno bisogno di un percorso di classe compilatore Java, e il sole sdk sembra essere nulla di buono qui

Il mio Mac OS X 10.11 avventure:

JamVM

costruito con make clean && CFLAGS="-m32" ./configure.

GNU Classpath

ha preso un po ' di più:

# If you already made an attempt
make clean

## If you don't --disable-tools. I didn't have antlr, so I downloaded it.
#curl -O http://www.antlr.org/download/antlr-4.5.1-complete.jar

./configure --disable-gtk-peer --disable-gconf-peer \
    --disable-tools # for tools: --with-antlr-jar=antlr-4.5.1-complete.jar

Se si make ora, la compilazione fallisce con java_io_VMConsole.c:80:19: error: use of undeclared identifier 'IUCLC'.Ho finito googling ciò che quel simbolo è - è un ottale 01000, e aggiunto direttamente alla fonte:

vim ./native/jni/java-io/java_io_VMConsole.c
# add this line in the beginning of the file: #define IUCLC   0001000

Dopo di che, ./configurare continua a lamentarsi per il tuo javac non GCJ.Sembra un vecchio bug di GNU Classpath, ho trovato menzione di problemi simili.Come potete vedere sotto, ./configure è rotto e non funziona con qualsiasi javac diverso gcj.

Ho finito solo la modifica ./configure:

  • all'inizio, ho aggiunto una riga export JAVAC=$(which javac)
  • Ho sostituito assegnazione condizionale con JAVAC_IS_GCJ=no

Ora, ./configure dovrebbe passare, ma make non.

Ho grepped tutti i Makefiles che ./configure generato per -fsource=, e quindi righe di commento con -fsource (è un gcj-flag specifico), se c'era un alternativa linee con -source argomento, o semplicemente sostituito fsource con source.

Ultimo passo, ho dovuto modificare di livello superiore Makefile e eliminare $(EXAMPLESDIR) da SUBDIRS = ... linea - non compilare con un errore:

./gnu/classpath/examples/CORBA/NamingService/Demo.java:99: error: 
    package gnu.classpath.tools.tnameserv does not exist
      gnu.classpath.tools.tnameserv.Main.main(args);"

Costruito!

Ho avuto errori durante l'esecuzione di esso, ma che è una storia completamente diversa...

$ DYLD_FALLBACK_LIBRARY_PATH=/usr/local/classpath/lib/classpath \
  /usr/local/jamvm/bin/jamvm -verbose:class -verbose:jni Test
...
Failed to open library /usr/local/classpath/lib/classpath/libjavanio:
dlopen(/usr/local/classpath/lib/classpath/libjavanio.so, 
1): image not found]
...
Exception occurred while printing exception (java/lang/NoClassDefFoundError)...
Original exception was java/lang/UnsatisfiedLinkError

(Io aggiornare la risposta, se riesco a farlo funzionare)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top