jak budovat GNU Classpath a JamVM

hlasů
4

Snažím se vybudovat GNU Classpath 0.98 a JamVM 1.5.2.
Po JamVM readme, já ‚configure; udělat; make install‘na jamVM, a fungovalo to.

Pak jsem přidal jamvm a Sun javac na cestu.
Pak GNU Classpath jsem to udělal:

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

Dostal jsem tuto chybu:

Javac selhala (viz config.log)

Na config.logvidím, že javac nemůže najít VMStackWalker (což je jamvm specifické) jsem přidal třídy jamvm do CLASSPATH, pak jsem dostal tuto chybu:

Java VM jamvm selhala (viz config.log)

Na config.logvidím, že jamvm nemůže najít java.lang.Class.

Co je špatně?!

Položena 14/04/2009 v 15:05
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
1

Kroky k sestavení GNU Classpath pro Ubuntu12.04: https://groups.google.com/forum/#!topic/jruby-gsoc/-fnKnP7zxbI

Kroky k sestavení JamVM pro Ubuntu 12.04: https://groups.google.com/forum/#!topic/jruby-gsoc/uJ6RlVvHR-0

Odpovězeno 22/06/2013 v 23:48
zdroj uživatelem

Odpovězeno 17/04/2009 v 08:05
zdroj uživatelem

hlasů
0

Moje Mac OS X 10.11 dobrodružství:

JamVM

postaven make clean && CFLAGS="-m32" ./configure .

GNU Classpath

Trvalo to trochu víc:

# 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

Pokud se vám maketeď, kompilace se nezdaří java_io_VMConsole.c:80:19: error: use of undeclared identifier 'IUCLC'. Skončil jsem googling to, že symbol je - je to osmičkové 01000, a přidal ji hned na zdroj:

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

Po tom, ./configure neustále stěžují vaši javacne bytí GCJ. Vypadá to jako stará chyba GNU Classpath jsem našel zmínky o podobných problémů. Jak vidíte níže, ./configureje rozbité a nebude pracovat s žádným javacjiný než gcj.

Skončil jsem prostě editaci ./configure:

  • na začátku, jsem přidal řádek export JAVAC=$(which javac)
  • Vyměnil jsem podmíněné úkol s JAVAC_IS_GCJ=no

Nyní ./configureby měl projít, ale makenebude.

Grepped jsem všechny Makefiles, že ./configuregenerovaný pro -fsource=, a pak buď zakomentovány linky s -fsource(je to příznak gcj specifické), jestliže došlo k alternativní linky s -sourceargumentem, nebo jen vyměnit fsources source.

Posledním krokem, jsem musel upravit nejvyšší úrovně Makefilea odstranit $(EXAMPLESDIR)z SUBDIRS = ...vedení - neměla kompilace s chybou:

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

Je postaven!

Mám chyby spuštěny, ale to je úplně jiný příběh ...

$ 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

(Budu aktualizovat odpověď, jestli se mi podaří spustit)

Odpovězeno 30/12/2015 v 15:55
zdroj uživatelem

hlasů
0

pokusit ESD classpath potřebují java kompilátor, a slunce SDK Zdá se, že tady k ničemu

Odpovězeno 26/04/2010 v 12:00
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more