JNI 만드는 중입니다. so 파일 관련해서 문제가 있네요

e00930의 이미지

안녕하세요 jni 초보입니다.

지금 amd64 칩을 사용하는 리눅스 서버(redhat as)에서 개발중데요

예전에 했던 방식대로 so 파일을 만들면 이런식으로 에러가나오

네요

예전: gcc -shared -I/경로 -o libtest.so test.c
에러: /usr/bin/ld: /tmp/ccQNfABM.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/tmp/ccQNfABM.o: could not read symbols: Bad value
collect2: ld returned 1 exit status

그래서 -fPIC로 붙여서 만들긴 만들었습니다.

그런데 문제가 ....... java 프로그램이 so 파일을 읽지를 못하네요

에러가 다음과 같이 나오네요
Java 클래스를 로드할 수 없습니다. java.lang.UnsatisfiedLinkError: /data/test/jni2/libtest.so: /data/test/jni2/libtest.so: :g ; 4: =

이렇게 나옵니다. 하아~~ LD_LIBRARY_PATH 에다가 경로도

걸어주고 했는데 다른거 생각해 볼게 또 뭐있을까요??

참고로 JNI 소스는 이전에 솔라리스에서 테스트 했던 내용입니다.

읽어보시고 뭔가 생각나시는 분계시면 아무거나 라도 좋으니

조금이라도 적어주시면 감사하겠습니다.

gasiri의 이미지

Java 클래스를 로드할 수 없습니다. java.lang.UnsatisfiedLinkError: /data/test/jni2/libtest.so: /data/test/jni2/libtest.so: :g ; 4: = 

JNI의 경우 UnsatisfiedLinkError 는 JNI를 이용하여
자바에서 사용하는 라이브러리를 찾지 못할 때 발생하는 에러입니다.
님의 경우는 라이브러리 생성부터 문제가 있는 것 같기는 하지만..
우선 또 다른 가능성부터 몇가지 살펴보면요...

- 자바소스의 패키지 설정이 적절한지 한번보세요..
만약 패키지가 설정이 되었다면 패키지 조절을 하세요..
- 자바소스에서 System.loadLibrary("라이브러리 이름");
이부분에서 로딩하고자 하는 라이브러리 이름이 실제 로딩하고
자 하는 라이브러리 이름하고 틀린경우 발생할 가능성이
있습니 다.

음 먼저 위의 두가지 사항을 먼저 살펴보심이.. 그럼 수고

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.