kaffe(JVM) ARM 용 설치중 궁금한것이 있어서 (아직 에러)

hanseok의 이미지

크로스 컴파일러를 사용해서 kaffe(JVM)를 컴파일 할려고 합니다.

초기에 에러를 확인하던중..

소스에서 kaffeh <== 실행파일을 생성하고 이후 이것을 가지고
다른 파일에 영향을 미치게 되어 있습니다.

i386 PC 에서 크로스컴파일러를 사용하기 때문에 kaffeh (ARM용) 이 생성되고 이후 kaffeh를 사용하는 make 구문은 당연히 에러가 나타납니다.

크로스 컴파일시 예전에 이런 에러가 났을때는 사운드 모듈쪽이라 사운드를 그냥 disable 해서 넘어갔는데
이번엔 어찌 해결이 안될듯하여서 이곳에 질문을 올려봅니다.

arm-linux-gcc

hys545의 이미지

hanseok wrote:
크로스 컴파일러를 사용해서 kaffe(JVM)를 컴파일 할려고 합니다.

초기에 에러를 확인하던중..

소스에서 kaffeh <== 실행파일을 생성하고 이후 이것을 가지고
다른 파일에 영향을 미치게 되어 있습니다.

i386 PC 에서 크로스컴파일러를 사용하기 때문에 kaffeh (ARM용) 이 생성되고 이후 kaffeh를 사용하는 make 구문은 당연히 에러가 나타납니다.

크로스 컴파일시 예전에 이런 에러가 났을때는 사운드 모듈쪽이라 사운드를 그냥 disable 해서 넘어갔는데
이번엔 어찌 해결이 안될듯하여서 이곳에 질문을 올려봅니다.

arm-linux-gcc


http://www.kaffe.org/ftp/pub/kaffe/binaries/linux
가면 바이러리로 된거 있는데
컴파일시만 kaffeh를 x86으로 바꾸고
나중에 arm용으로 되돌려 놓으면 될거 같은데야.

즐린

hanseok의 이미지

rpm인데.. 보드에 rpm 설치해도 상관없나요?

그냥 rpm를 풀어서.~~ ^^
그것을~ 이동시키면 되려나. ?

한번 rpm를 이동하는것을 해봐야겠습니다.

잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..

hys545의 이미지

hanseok wrote:
rpm인데.. 보드에 rpm 설치해도 상관없나요?

그냥 rpm를 풀어서.~~ ^^
그것을~ 이동시키면 되려나. ?

한번 rpm를 이동하는것을 해봐야겠습니다.


mc로 rpm을 압축파일처럼 열수 잇습니다.
그걸로 열고 그 안에서 필요한것만 옮ㄱ시세여

즐린

hanseok의 이미지

아래 첫번째 것은 실행하기 위한 것이구요..

코드:

prefix="/usr" 
exec_prefix="${prefix}" 
: ${KAFFE_BINDIR="${exec_prefix}/bin"} 
: ${KAFFE_CLASSDIR="${prefix}/share/kaffe"} 
: ${KAFFE_LIB="/usr/lib/kaffe"} 
CLASSPATH="${CLASSPATH-.}:$KAFFE_CLASSDIR/Klasses.jar:$KAFFE_CLASSDIR/pizza.jar"`test -f $KAFFE_CLASSDIR/classes.zip && echo ":$KAFFE_CLASSDIR/classes.zip"` 
export CLASSPATH 
LD_LIBRARY_PATH="$KAFFE_LIB"${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"} 
export LD_LIBRARY_PATH 

if test x"${KAFFE_DEBUG+set}"x != x"set"x; then 
    exec $KAFFE_BINDIR/Kaffe ${1+"$@"} 
else 
    case `"$KAFFE_DEBUG" --version </dev/null 2>/dev/null` in 
    "GDB"*|"GNU gdb"*) 
        # start command-line gdb within the correct working directory, 
        # and set up the specified argument list 
        { 
            echo "shell rm -f /tmp/.gdbinit.$$" 
            echo "cd `pwd`" 
            echo "set args $*" 
        } >/tmp/.gdbinit.$$ 
        exec "$KAFFE_DEBUG" -command /tmp/.gdbinit.$$ $KAFFE_BINDIR/Kaffe 
        rm -f /tmp/.gdbinit.$$;; 
    "GNU Emacs"*) 
        # start gdb within GNU Emacs, move into the current working 
        # directory and set up the specified argument list 
        exec "$KAFFE_DEBUG" -eval "(progn (gdb \"gdb $KAFFE_BINDIR/Kaffe\") (gud-call \"cd `pwd`\") (gud-call \"set args $*\"))";; 
    XEmacs*) 
        # start gdb within XEmacs, move into the current working 
        # directory and set up the specified argument list 
        exec "$KAFFE_DEBUG" -eval "(progn (gdb \"$KAFFE_BINDIR/Kaffe\") (gdb-call \"cd `pwd`\") (gdb-call \"set args $*\"))";; 
    *) echo you must set KAFFE_DEBUG to either emacs or gdb >&2;; 
    esac 
fi 
exit 1 

아래 것은 실행시키면 나타나는 에러입니다. /usr/bin/Kaffe란 실행파일이 있습니다.

코드:

[root@TynuxBox_X kaffe]$java                                                    
/usr/bin/kaffe: /usr/bin/Kaffe: No such file or directory                        
/usr/bin/kaffe: /usr/bin/Kaffe: No such file or directory                        
[root@TynuxBox_X kaffe]$ 

== 확인 해본것 ====
코드:
[

root@TynuxBox_X bin]$pwd                                                        
/usr/bin                                                                        
[root@TynuxBox_X bin]$ls -al | grep affe                                        
-rwxr-xr-x    1 root     root       575312 Aug  8 13:00 Kaffe                    
-rwxr-xr-x    1 root     root         2148 Aug  8 13:00 kaffe                    
-rwxr-xr-x    1 root     root        53163 Aug  8 13:00 kaffeh                  
-rwxr-xr-x    1 root     root        13251 Aug  8 13:00 report-kaffe-bug        
[root@TynuxBox_X bin]$ 

무엇이 문제인지.. `~

잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..

hanseok의 이미지

지금까지 진행을 몇가지 적어봅니다.

ac_cv_sizeof_int=4 \
ac_cv_sizeof_char=1 \
ac_cv_sizeof_short=2 \
ac_cv_sizeof_float=4 \
ac_cv_sizeof_double=8 \
ac_cv_sizeof_pthread_t=4 \
ac_cv_sizeof_long=4 \
ac_cv_sizeof_void_p=4 \
ac_cv_sizeof_long_long=8 \
ac_cv_sizeof_off_t=4 \
ac_cv_sizeof_fpos_t=4 \
ac_cv_sizeof_time_t=4 \
\
ac_cv_sizeof_voidp=4 \
\

configure 할때 위의 것을 추가 해 주었습니다.
H/W 에 따른 type의 크기가 달라서 그렇겠지요.

machine.c: In function `translate':
machine.c:195: inconsistent operand constraints in an `asm'
machine.c:371: inconsistent operand constraints in an `asm'
machine.c: In function `printProfilerStats':
machine.c:1307: inconsistent operand constraints in an `asm'
machine.c:1310: inconsistent operand constraints in an `asm'
make[3]: *** [machine.lo] Error 1

현재 상태의 에러입니다.
asm 이뭔지 지금 찾고 있네요..

느긋하게 다른 일 하면서.~~처리해서 결과가 굉장히 늦네요..

잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..

hys545의 이미지

hanseok wrote:
지금까지 진행을 몇가지 적어봅니다.

ac_cv_sizeof_int=4 \
ac_cv_sizeof_char=1 \
ac_cv_sizeof_short=2 \
ac_cv_sizeof_float=4 \
ac_cv_sizeof_double=8 \
ac_cv_sizeof_pthread_t=4 \
ac_cv_sizeof_long=4 \
ac_cv_sizeof_void_p=4 \
ac_cv_sizeof_long_long=8 \
ac_cv_sizeof_off_t=4 \
ac_cv_sizeof_fpos_t=4 \
ac_cv_sizeof_time_t=4 \
\
ac_cv_sizeof_voidp=4 \
\

configure 할때 위의 것을 추가 해 주었습니다.
H/W 에 따른 type의 크기가 달라서 그렇겠지요.

machine.c: In function `translate':
machine.c:195: inconsistent operand constraints in an `asm'
machine.c:371: inconsistent operand constraints in an `asm'
machine.c: In function `printProfilerStats':
machine.c:1307: inconsistent operand constraints in an `asm'
machine.c:1310: inconsistent operand constraints in an `asm'
make[3]: *** [machine.lo] Error 1

현재 상태의 에러입니다.
asm 이뭔지 지금 찾고 있네요..

느긋하게 다른 일 하면서.~~처리해서 결과가 굉장히 늦네요..


kaffe부슨 버젼으로 작업하는지 궁금
개발은 1.1.4
안정은 1.0.7인데
혹시 1.0.7로 문제 잇으면 1.1.4로 해보는데
아! 아니면 cvs로 받아서 해보는것조 추천

즐린

hanseok의 이미지

1.0.7로 했습니다.
이번에 한것은 버전이 잘 모르겟네요 이것 저것 해보다가. 컴파일 대강 성공..
이유는 test디렉토리에서 에러가 나기에 그냥 무시.. 햇습니다.

지금 보드에서 nfs로
javac 해보니 에러가 나서.. PC에서 컴파일 하고..
보드에서 돌려보니.. 아래와 같은 에러가 있네요.. 좀더 노력해야 해결할수 있을듯.

[root@TynuxBox_X test]$java Hello
Internal error: caught an unexpected exception.
Please check your CLASSPATH and your installation.
java/lang/NullPointerException
Aborted
[root@TynuxBox_X test]$

잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.