Gostaria de saber para que serve a JNI. � um compilador direto para a plataforma?? �
mais r�pido que o Java normal?
[EMAIL PROTECTED] wrote:
> Ola' pessoal
>
> Por favor uma ajuda quem conhece JNI (Java Native Interface) !!!
> Estou com problemas ao usar JNI num RedHat Linux 2.0.36.
> Dentro da classe "StartHoudini" ha' um metodo nativo chamado getMacAddress()
> Criei o arquivo-cabecalho .h com o javah.
> Apos isso implementei o programa em C que implementa o metodo nativo, tudo isso sem
>problemas.
>
> Apos entao compilei o programa .c com a seguinte linha:
> % gcc -fPIC -I/jdk1.2/include -I/jdk1.2/include/linux -c getMacAddr.c -o getMacAddr.o
>
> Isso me gerou o arquivo getMacAddr.o, que ainda nao e' uma biblioteca ELF.
>
> Entao para gerar a biblioteca ELF libjava-mac-addr.so, eu executo a linha:
> % gcc -shared -Wl,-soname,libjava-mac-addr.so -o libjava-mac-addr.so.1 getMacAddr.o
>
> Isso gerou a biblioteca ELF libjava-mac-addr.so.1
>
> Criei um link entao de libjava-mac-addr.so para libjava-mac-addr.so.1
> % ln -sf libjava-mac-addr.so.1 libjava-mac-addr.so
>
> Quando chamo a VM para executar StartHoudini recebo uma excessao:
> Exception in thread "main" java.lang.UnsatisfiedLinkError: no libjava-mac-addr.so in
>java.library.path
> at java.lang.ClassLoader.loadLibrary(Compiled Code)
>
> Ao meu ver parece que a VM exige uma propriedade (java.libray.path) que indique onde
>as bibliotecas estao. Tentei entao:
> % export LD_LIBRARY_PATH=(path para a biblioteca)
> % java -Djava.library.path=$LD_LIBRARY_PATH houdini.system.StartHoudini
>
> Continuo com a mesma excessao...
> Em tempo: estou executando a VM como root, entao nao e' problema com direitos.
>
> Quem pode me ajudar por favor ??
> Sera' que a biblioteca para JNI nao deve ser padrao ELF ?
>
> Abraco
> Rodrigo
>
> --------------------------- LISTA SOUJAVA ---------------------------
> http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
> [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> ---------------------------------------------------------------------
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------