문제

GNU ClassPath 0.98 및 JAMVM 1.5.2를 구축하려고합니다.
JAMVM README에 이어 '구성; 만들다; JAMVM에 '설치하면 작동했습니다.

그런 다음 Jamvm과 Sun Javac을 길에 추가했습니다.
그런 다음 GNU ClassPath로 다음과 같이했습니다.

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

이 오류가 발생했습니다.

Javac 실패 (config.log 참조)

config.log, Javac은 vmstackwalker (Jamvm-specific)를 찾을 수 없다는 것을 알았습니다.

Java VM JAMVM 실패 (config.log 참조)

config.log, 나는 JAMVM을 찾을 수 없다는 것을 알았다 java.lang.Class.

뭐가 문제 야?!

도움이 되었습니까?

다른 팁

Ubuntu12.04의 GNU ClassPath를 컴파일하는 단계 :https://groups.google.com/forum/#!topic/jruby-gsoc/-fnknp7zxbi

Ubuntu 용 Jamvm 컴파일 단계 12.04 :https://groups.google.com/forum/#!topic/jruby-gsoc/uj6rlvvhr-0

ECJ를 사용해보십시오. ClassPath에는 Java 컴파일러가 필요하며 Sun SDK는 여기에서 좋지 않은 것 같습니다.

My Mac OS X 10.11 Adventures :

JAMVM

구축 make clean && CFLAGS="-m32" ./configure.

GNU ClassPath

조금 더 가져갔습니다.

# 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

만약 너라면 make 이제 컴파일이 실패합니다java_io_VMConsole.c:80:19: error: use of undeclared identifier 'IUCLC'. 나는 끝났다 그 상징이 무엇인지 인터넷 검색 - 그것은 01000 10 월이며 소스에 바로 추가했습니다.

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

그 후, ./configure는 당신에 대해 계속 불평합니다 javac GCJ가 아닙니다. 그것은 GNU 클래스 경로의 오래된 버그처럼 보이며, 비슷한 문제에 대한 언급을 발견했습니다. 아래에서 볼 수 있듯이 ./configure 깨졌고 어떤 것도 작동하지 않습니다 javac 이것 말고도 gcj.

나는 단지 편집을 끝냈다 ./configure:

  • 처음에는 줄을 추가했습니다 export JAVAC=$(which javac)
  • 조건부 할당을 대체했습니다 JAVAC_IS_GCJ=no

지금, ./configure 통과해야하지만 make 습관.

나는 모든 것을 막았다 Makefiles 저것 ./configure 생성 -fsource=, 그런 다음 라인을 댓글을 달았습니다 -fsource (GCJ- 특이 적 플래그입니다) 대체 라인이 있다면 -source 인수 또는 방금 대체되었습니다 fsource ~와 함께 source.

마지막 단계, 나는 최상위 수준을 편집해야했다 Makefile 그리고 삭제 $(EXAMPLESDIR) ~에서 SUBDIRS = ... 라인 - 오류로 컴파일하지 않았습니다.

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

그것은 만들어졌다!

나는 그것을 실행하는 오류가 있었지만 그것은 완전히 다른 이야기입니다...

$ 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

(실행할 수 있으면 답을 업데이트하겠습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top