Lib RxTx - Problemas

584 views
Skip to first unread message

Icaro Camelo

unread,
Sep 18, 2013, 12:33:01 AM9/18/13
to ce...@googlegroups.com
Caros,
Estou apanhando para ler a porta serial no Linux, pois recebo uma exceção quando listo as portas disponíveis, dizendo que não encontra essa lib. Alguém sabe exatamente onde devo colocar essa lib no Linux?

Sent from my iPad

Emanuel Cordeiro

unread,
Sep 18, 2013, 7:23:19 AM9/18/13
to ce...@googlegroups.com
Tenta colocar na /usr/lib caso você esteja com uma versão 32 bits.




2013/9/18 Icaro Camelo <icaro...@hotmail.com>
Caros,
Estou apanhando para ler a porta serial no Linux, pois recebo uma exceção quando listo as portas disponíveis, dizendo que não encontra essa lib. Alguém sabe exatamente onde devo colocar essa lib no Linux?

Sent from my iPad

--
Você está recebendo esta mensagem porque se inscreveu no grupo "CEJUG" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para cejug+un...@googlegroups.com.
Para postar neste grupo, envie um e-mail para ce...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cejug.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Emanuel Cordeiro

unread,
Sep 18, 2013, 7:37:07 AM9/18/13
to ce...@googlegroups.com
Cola o erro aqui, o erro é relacionado a biblioteca nativa (librxtxSerial.so, librxtxParallel.so) ou ao Jar (RXTXcomm.jar) ?



2013/9/18 Emanuel Cordeiro <emanue...@gmail.com>

Icaro Camelo

unread,
Oct 13, 2013, 2:19:59 AM10/13/13
to ce...@googlegroups.com, ce...@googlegroups.com
O erro é nas libs nativas. 

Não consegue achar no Java.path.

Sent from my iPad

Emanuel Cordeiro

unread,
Oct 13, 2013, 9:34:12 AM10/13/13
to ce...@googlegroups.com
Então é só colocar os arquivos librxtxSerial.so, librxtxParallel.so na pasta  /usr/lib ou  /usr/lib64 (caso seja 64bits).

vlw


2013/10/13 Icaro Camelo <icaro...@hotmail.com>

Icaro Camelo

unread,
Oct 13, 2013, 10:33:36 AM10/13/13
to ce...@googlegroups.com
Emanuel,

Agora ele achou, no entanto está reclamando da arquitetura. 

Existem dois arquivos, um para cada arquitetura ou somente um que roda na duas? 

wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)


Date: Sun, 13 Oct 2013 10:34:12 -0300
Subject: Re: [CEJUG] Lib RxTx - Problemas
From: emanue...@gmail.com
To: ce...@googlegroups.com

Gabriel Tavares

unread,
Oct 13, 2013, 10:56:32 AM10/13/13
to ce...@googlegroups.com
Icaro, se estiver usando o ubuntu/debian, simplesmente faça:

sudo apt-get install openjdk-7-jdk
sudo apt-get install librxtx-java

# Execute o comando abaixo para escolher qual das JVMs instaladas você deseja utilizar: (escolha a do OpenJDK 7)
sudo update-alternatives --config java

Após isso, adicione os jars no buildpath do seu projeto java.
Dará certo!
Att.,
-------------------------------------------------------------------------
Gabriel Tavares
Graduando em Engenharia de Computação - IFCE
http://lattes.cnpq.br/2113436600490076

Contatos:
Skype: gabriel.de.melo.freitas

Emanuel Cordeiro

unread,
Oct 13, 2013, 11:06:20 AM10/13/13
to ce...@googlegroups.com
Icaro, você tem que baixar a biblioteca relativa a sua arquitetura.

Qual a tua arquitetura e SO? 

Fui ver aqui a página de download e vi que mudou desde a época que utilizei. Parece que agora é essa:

E lendo um pouco, cheguei nessa parte abaixo, parece que no caso de 64bits vc vai ter que baixar nesse outro link ai:
Should you wish to use RxTx on a x64 based computer, note that the downloads on this page will not work, for x64 compiled binaries go to: Mfizz RxTx page

Ah, eu não utilizo Debian/Ubuntu, portanto nao conhecia a solução com apt-get, se esse for o seu caso, acho uma boa testar.

passa um feedback,

Vlw


2013/10/13 Gabriel Tavares <gabrielta...@gmail.com>

Icaro Camelo

unread,
Oct 13, 2013, 11:32:39 AM10/13/13
to ce...@googlegroups.com
@Gabriel,

Já havia tentado essa solução e não funcionou.

@Emanuel,

Tô testando em duas VM's com Debian e Ubuntu. Fiz o download do link que você indicou e agora apresentou o erro: "no LinuxSerialParalell in java.library.path", mesmo com as libs "librxtxParalell.so" e "librxtxSerial.so" no "/usr/lib".


Date: Sun, 13 Oct 2013 12:06:20 -0300

Gabriel Tavares

unread,
Oct 13, 2013, 12:13:16 PM10/13/13
to ce...@googlegroups.com
Icaro, você precisa ver se a JVM que está usando no eclipse (ou outra IDE) é o OpenJDK!
Ver no buildpath

Icaro Camelo

unread,
Oct 13, 2013, 12:17:24 PM10/13/13
to ce...@googlegroups.com
@Gabriel,

Estou usando a JVM da Oracle.


From: gabrielta...@gmail.com
Date: Sun, 13 Oct 2013 13:13:16 -0300

Subject: Re: [CEJUG] Lib RxTx - Problemas

Emanuel Cordeiro

unread,
Oct 14, 2013, 8:16:22 AM10/14/13
to ce...@googlegroups.com
Vamo resolver essa parada cara. rsrsrsrs

Coloca os arquivos librxtxSerial.so and librxtxParallel.so na pasta $JAVA_HOME/jre/lib/i386 e vê se dá certo.





2013/10/13 Icaro Camelo <icaro...@hotmail.com>

Leonardo

unread,
Oct 14, 2013, 9:25:36 AM10/14/13
to ce...@googlegroups.com
veja se esta biblioteca derivada da rxtx te serve

Icaro Camelo

unread,
Oct 14, 2013, 9:24:26 PM10/14/13
to ce...@googlegroups.com
@Emanuel,

Tô usando x64, então copiei pra pasta /amd64, mas não funcionou. 

Não entendi uma coisa: No erro ele reclama da "libLinuxSerialParallel.so", mas na librxtx que baixei naquele link só tem 2 arquivos: "librxtxSerial.so" e "librxtxParallel.so".

Segue abaixo o erro:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libLinuxSerialParallel.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Error loading LinuxSerialParallel: java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libLinuxSerialParallel.so: /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libLinuxSerialParallel.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.comm.Unix.isDevLink(Ljava/lang/String;)Z
    at com.sun.comm.Unix.isDevLink(Native Method)
    at com.sun.comm.PathBundle.add(PathBundle.java:108)
    at com.sun.comm.PlatformPortBundle.<init>(PlatformPortBundle.java:44)
    at javax.comm.CommPortIdentifier.<clinit>(CommPortIdentifier.java:138)
    at DriverSerial.<init>(DriverSerial.java:89)
    at Controle.<init>(Controle.java:423)
    at Controle.main(Controle.java:1886)


Date: Mon, 14 Oct 2013 09:16:22 -0300

Emanuel Cordeiro

unread,
Oct 15, 2013, 7:44:31 AM10/15/13
to ce...@googlegroups.com
também nao saquei essa do nome do arquivo não. oO

No caso da versão x64, essa versão nao dá suporte, como ele explica na sessão x64 Binaries. Tem que baixar a versão que está na página http://mfizz.com/oss/rxtx-for-java . Como ele explica ai na página. Outra solução seria você tenar utilizar a biblioteca que o Leonardo passou, porque parece que lá o pessoal tá mantendo e evoluindo o projeto.

Segue o link exato do download da versão para x64:
https://bitbucket.org/jlauer/mfz-cdn/downloads/mfz-rxtx-2.2-20081207-linux-x86_64.zip

Dentro do ZIP, tem o arquivo Install.txt que te dá as o passo a passo para a instalação:

Linux
----------------------------------------------------
 
Choose your binary build - x86_64 or i386 (based on which version of
the JVM you are installing to)
 
NOTE: You MUST match your architecture.  You can't install the i386
version on a 64-bit version of the JDK and vice-versa.
 
For a JDK installation on architecture=i386
 
Copy RXTXcomm.jar ---> <JAVA_HOME>/jre/lib/ext
Copy librxtxSerial.so ---> <JAVA_HOME>/jre/lib/i386/
Copy librxtxParallel.so ---> <JAVA_HOME>/jre/lib/i386/
 
NOTE: For a JDK installation on architecture=x86_64, just change the
i386 to x86_64 above.


2013/10/14 Icaro Camelo <icaro...@hotmail.com>

Icaro Camelo

unread,
Oct 17, 2013, 2:42:02 PM10/17/13
to ce...@googlegroups.com
Caros,

Finalmente consegui resolver o problema.

No meu instalador eu estava copiando os *.so 64bits para as pastas /i386 e /amd64. Quando copiei SOMENTE para a pasta /amd64, pois estava utilizando Linux x64, as coisas funcionaram.

Fiz uma outra alteração: Gerei meu jar utilizando o FatJar.

Portanto, preciso ainda verificar o que realmente resolveu o problema.

No mais, muito obrigado pela ajuda!


Date: Tue, 15 Oct 2013 08:44:31 -0300
Reply all
Reply to author
Forward
0 new messages