Page 1 sur 1

[ JAVA et lib arduino] probleme de compilation (résolu)

Publié : sam. 07 avr. 2012, 17:08
par rasta
bonjour j'ai un probléme pour lancer un script de demarrage pour
arduino; j'ai le retour ci dessous:

j'ai désinstaller et réinstallé jre, jdk et openjdk 7 mais rien ne fonctionne. Si
quelqu'un a une solution je suis preneur.

mercie d'avance à tout les archlinuxien.

Code : Tout sélectionner

Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-7-openjdk/jre/lib/i386/xawt/libmawt.so: libnettle.so.4: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
	at java.lang.Runtime.load0(Runtime.java:792)
	at java.lang.System.load(System.java:1059)
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1846)
	at java.lang.Runtime.loadLibrary0(Runtime.java:845)
	at java.lang.System.loadLibrary(System.java:1084)
	at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
	at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Toolkit.loadLibraries(Toolkit.java:1648)
	at java.awt.Toolkit.<clinit>(Toolkit.java:1670)
	at java.awt.Component.<clinit>(Component.java:595)
	at processing.app.Base.main(Base.java:112)

Re: [ probleme lib JAVA] libmawt.so

Publié : sam. 07 avr. 2012, 17:40
par FoolEcho
rasta a écrit :

Code : Tout sélectionner

Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-7-openjdk/jre/lib/i386/xawt/libmawt.so: libnettle.so.4: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
Il te manque nettle ? (tu peux utiliser pkgfile/pkgtools pour trouver quel paquet contient tel fichier)


(et merci d'utiliser les balises dans tes messages)

Re: [ probleme lib JAVA] libmawt.so

Publié : sam. 07 avr. 2012, 18:44
par rasta
mon script de demarrage fonctionnne après avoir réinstaller "jre7-openjdk"
et "gtk2" mais j'ai encore quelques soucis :D :D :D

quand je lance le script en root tout fonctionne comme sur des roulette mais
quand je passe en utilisateur normal et que je tente d'ouvrir un onglet dans
mon interface qui me permet de communiquer avec mon port usb j'ai le message d'erreur suivant:

Code : Tout sélectionner

processing.app.SerialNotFoundException: Serial port 'COM1' not found.  Did you select the right one from the Tools > Serial Port menu?
	at processing.app.Serial.<init>(Serial.java:153)
	at processing.app.Serial.<init>(Serial.java:91)
	at processing.app.SerialMonitor.openSerialPort(SerialMonitor.java:204)
	at processing.app.Editor.handleSerial(Editor.java:2415)
	at processing.app.Editor$18.actionPerformed(Editor.java:671)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
est-ce un probléme de droit? (je ne pense pas vue que mon utilisateur est est à affilier au groupe storage)
est-ce un probléme de java?
pourquoi en root sa marche très bien?

(desolé pour les balises)

Re: [ probleme lib JAVA] root et utilisateur classic

Publié : sam. 07 avr. 2012, 20:12
par rasta
C'est bons c'est resolu, il y avait un wiki ou tout est expliqué:
:D :D :D :D

il falait faire quelques configuration:

=> https://wiki.archlinux.org/index.php/Arduino

un coup de:
# gpasswd -a <user> uucp

et de:
$ nano ~/.arduino/preferences.txt
en remplacant la ligne: serial.port=/dev/COM1
par: serial.port=/dev/USB0 (dans mon cas)

Bon est maintenant que tout marche j'ai un nouveau probléme:

je tente de compilé un code minimale proposé en exemple dans le soft
mais sa ne marche alors que c'est un code d'exemple qui est censé marché;
j'ai verifié la syntaxe et tout est correcte; voicie le retour du compilateur:

Code : Tout sélectionner

/home/rasta/arduino-1.0/hardware/arduino/cores/arduino/Print.cpp: In
member function 'size_t Print::print(const __FlashStringHelper*)':
/home/rasta/arduino-1.0/hardware/arduino/cores/arduino/Print.cpp:44:9: error: 'prog_char' does not name a type
/home/rasta/arduino-1.0/hardware/arduino/cores/arduino/Print.cpp:47:23: error: 'p' was not declared in this scope
Je fais appelle encore à vous; please help me :( :( :(


quelques pisteque je tente de comprendre:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49764 => pour les beug
https://aur.archlinux.org/packages.php?ID=50146 => pourquoi ce packet?

Re: [ JAVA et lib arduino] probleme de compilation

Publié : dim. 08 avr. 2012, 09:39
par FoolEcho
À prendre avec des pincettes (je ne connais pas le soft + lecture rapide de ce que tu indiques -- j'avais même pas imaginé qu'il y a avait un wiki :) -- + aucun test :mrgreen: ), mais de ce que je comprends, il te faut probablement utiliser le compilateur fournit par gcc-avr plutôt que le gcc de core. J'imagine donc qu'il te faut vérifier qu'arduino ou que tu compiles bien avec gcc-avr.

Re: [ JAVA et lib arduino] probleme de compilation

Publié : dim. 08 avr. 2012, 11:03
par rasta
mon problème est résolue, mais je ne sais pas exactement d'ou sa provenais.
La version que j'installais manuellement venait du site arduino.cc , je l'ai donc effacé
et installé le packet "arduino" qui est dans AUR.
Probablement un probléme avec le compilateur bien que le bon était déjà installé mais
ne devait pas être utilisé.

$ yaourt -S arduino

Depuis le soft compile très bien les programmes.

Un seul petit hic pour tout les amateurs de microcontrôleur du dimanche comme moi,
la library Wire.h de l'arduino qui pemet notament de piloter un bus I2C a subit
de profonde modification de synraxe à partir de la version 1.0 du soft; celle que j'ai pu remarquer sont:

Wire.send() est devenue Wire.write()
Wire.receive() est devenu Wire.read()


Voila le sujet est résolu

:mrgreen: :mrgreen: :mrgreen: :mrgreen: