ftDuino unter Ubuntu - Java Fehler

Alles rund um COMPUTING inkl. Microcontroller & Co.
Everything about COMPUTING incl. Microcontrollers
Forumsregeln
Bitte beachte die Forumsregeln!

ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 31 Dez 2018, 05:48

Hallo zusammen,

ich versuche zum ersten Mal, einen ftDuino in Betrieb zu nehmen. Betriebssystem ist Ubuntu 18.04, Arduino ist frisch von der Webseite arduino.cc heruntergeladen und hat die Version 1.8.8.

Einrichtung klappt soweit, nur sobald ich versuche, einen Sketch hochzuladen, erscheint folgende Fehlermeldung:

Code: Alles auswählen
user@linux:~$ /opt/arduino/arduino-1.8.8/arduino
Picked up JAVA_TOOL_OPTIONS:
Der Sketch verwendet 3540 Bytes (12%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
Globale Variablen verwenden 149 Bytes (5%) des dynamischen Speichers, 2411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
Exception in thread "Thread-18" java.lang.UnsatisfiedLinkError: /home/user/.jssc/linux/libjSSC-2.8_x86_64.so: /home/user/.jssc/linux/libjSSC-2.8_x86_64.so: Fehler beim Mappen des Shared Objects
   at java.lang.ClassLoader$NativeLibrary.load(Native Method)
   at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
   at java.lang.Runtime.load0(Runtime.java:809)
   at java.lang.System.load(System.java:1086)
   at jssc.SerialNativeInterface.<clinit>(SerialNativeInterface.java:172)
   at processing.app.SerialPortList.<clinit>(SerialPortList.java:47)
   at processing.app.Serial.list(Serial.java:277)
   at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:131)
   at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
   at processing.app.SketchController.upload(SketchController.java:732)
   at processing.app.SketchController.exportApplet(SketchController.java:703)
   at processing.app.Editor$UploadHandler.run(Editor.java:2042)
   at java.lang.Thread.run(Thread.java:748)


Die Gruppenzugehörigkeit des Benutzers sollte stimmen:

Code: Alles auswählen
user@linux:/root$ groups
tty uucp dialout plugdev cdrom fuse users


Und die Berechtigungen der seriellen Schnittstelle auch:

Code: Alles auswählen
user@linux:~# ls -l /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 0 Dez 31 04:30 /dev/ttyACM0


Kann mir jemand weiterhelfen?
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon MasterOfGizmo » 31 Dez 2018, 19:03

Auf was für einer Maschine machst Du das? Anscheinend ist die ~/.jssc/linux/libjSSC-2.8_x86_64.so auf Deinem PC nicht ladbar. Ist das ein normaler PC?

JSSC ist das hier: https://code.google.com/archive/p/java- ... connector/ Das braucht die Arduino-IDE, um mit der seriellen Schnittstelle zu kommunizieren. Du kannst auch mal das ganze .jssc-Verzeichnis löschen, das legt die Arduino-IDE dann neu an. Vielleicht hast Du da ja eine alte/kaputte Version liegen.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1567
Registriert: 30 Nov 2014, 08:44

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 31 Dez 2018, 19:30

Es ist ein normaler x86-Laptop mit Intel i5-Prozessor auf Ubuntu 18.04 64-Bit, sollte also passen.

Habe nun sowohl das ~/.jssc-Verzeichnis gelöscht:
Code: Alles auswählen
rm -r /home/user/.jssc/

als auch die Library mit der von deinem Link ersetzt:
Code: Alles auswählen
unzip jSSC-2.7.0-Release.zip
cp jSSC-2.7.0-Release/jssc.jar arduino-1.8.8/lib/jssc-2.8.0-arduino2.jar
chown user:group arduino-1.8.8/lib/jssc-2.8.0-arduino2.jar

Leider ohne Erfolg und mit der oben genannten Fehlermeldung als Ergebnis.

Addendum: Wenn ich innerhalb einer Arduino-Sitzung, also ohne das Arduino IDE-Fenster zu schließen, nach dem ersten Fehlschlag zum zweiten Mal versuche, den Sketch hochzuladen, erscheint folgende Fehlermeldung:

Code: Alles auswählen
Der Sketch verwendet 3540 Bytes (12%) des Programmspeicherplatzes. Das Maximum sind 28672 Bytes.
Globale Variablen verwenden 149 Bytes (5%) des dynamischen Speichers, 2411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2560 Bytes.
Exception in thread "Thread-34" java.lang.NoClassDefFoundError: Could not initialize class processing.app.SerialPortList
        at processing.app.Serial.list(Serial.java:277)
        at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:131)
        at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
        at processing.app.SketchController.upload(SketchController.java:732)
        at processing.app.SketchController.exportApplet(SketchController.java:703)
        at processing.app.Editor$UploadHandler.run(Editor.java:2042)
        at java.lang.Thread.run(Thread.java:748)


Sagt dir das was? Hängt das mit dem ersten Fehler zusammen? Nach Beenden und neuem Öffnen der IDE kommt wieder die erste Fehlermeldung vom Ursprungspost.
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon MasterOfGizmo » 31 Dez 2018, 23:13

Das hängt zusammen. Er kann erst die serielle Bibliothek nicht laden und wenn er sie dann in der Folge benutzen will ist sie nicht da.

Irgendwas stimmt zwischen der Arduino-IDE und Deinem PC nicht und es hat nichts mit dem ftDuino zu tun. Einen anderen Arduino könntest Du genauso wenig benutzen.

Und nein, Du musst da nix selbst ersetzen. Einfach löschen und die Arduino-IDE legt das dann automatisch wieder an.
Zuletzt geändert von MasterOfGizmo am 01 Jan 2019, 14:22, insgesamt 1-mal geändert.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1567
Registriert: 30 Nov 2014, 08:44

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon EstherM » 01 Jan 2019, 13:56

Ein frohes neues Jahr!

Um den Fehler reproduzieren zu können, habe ich auf meinem Ubuntu-System ebenfalls die neueste Arduino-IDE installiert und den ftduino so eingebunden, wie das Manual das beschreibt.
Der erste Blinktest ist bei mir erfolgreich.
Prinzipiell sollte der ftduino also unter Ubuntu 18.04.01 laufen.
In meinen etwas älteren Notizen habe ich für mein OpenSuse-System/KDE noch gefunden:
"Startet nicht wegen nicht gefundenem Link. Alles Mist. Start mit
Code: Alles auswählen
kdesu ./arduino
: läuft. Alles gut!"
Vielleicht könntest du mal versuchen, die Arduino-IDE mit sudo zu starten.

Gruß
Esther
Beiträge als Admin sind als solche gekennzeichnet.
EstherM
Administrator
 
Beiträge: 221
Registriert: 11 Dez 2011, 22:24

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 01 Jan 2019, 17:23

Esther, das war ein super Tipp. Vielen Dank fürs ausprobieren!

Auf meinem System funktioniert es nun mit einem

sudo ./arduino


Nun muss ich mich nur auf die Suche machen, an welchen Berechtigungen es liegt, dass root benötigt wird. Meinen Kindern will ich keine Admin-Rechte geben ;-)
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon EstherM » 01 Jan 2019, 18:26

Lieber timberwolf,
schön, dass es jetzt bei Dir ein bisschen besser läuft. Ich fand es auch doof, dass auf meinem Suse-System der ftduino nur unter Root lief, aber ich habe es nicht weiter verfolgt. Auf dem Ubuntu-Rechner schon früher mal mit einem Arduino gewurschtelt, so dass ich da möglicherweise schon vorher mal was geändert habe. Ich habe dazu aber keine Aufzeichnungen zu gefunden. Nach meiner Erinnerung war das unproblematisch.
Viel Spaß noch,
Esther
Beiträge als Admin sind als solche gekennzeichnet.
EstherM
Administrator
 
Beiträge: 221
Registriert: 11 Dez 2011, 22:24

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon PHabermehl » 01 Jan 2019, 18:38

Ganz kurz nur von mir die Info, dass es auf mehreren Rechnern unter SuSE 42.2, 42.3 und 15.0 und vorher auch 13.x problemlos lief. Es muss an irgendwelchen Rechten liegen, ggf. den User zu den Gruppen dialout und TTY hinzufügen? Das sind die einzigen Rechte, die mein Standard-User hat...

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!
PHabermehl
Moderator
 
Beiträge: 1165
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 46

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon EstherM » 03 Jan 2019, 16:48

Hallo Peter,
der Gedanke mit der fehlenden ist naheliegend und hat bestimmt auch schon vielen geholfen.
In meinem Suse-System bin ich aber Mitglied der Gruppe "dialout" und timberwolf hat die Berechtigungen in seinem Ubuntu ja auch abgeklärt.

Irgendwo lauert da noch ein anderes Problem. Nach meinem Gefühl hat das was mit den verschiedenen Java-Dialekten zu tun. Aber vielleicht ist ja auch was mit meinem Gefühl falsch.
Wir behalten das Problem mal im Auge.
Gruß
Esther
Beiträge als Admin sind als solche gekennzeichnet.
EstherM
Administrator
 
Beiträge: 221
Registriert: 11 Dez 2011, 22:24

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon PHabermehl » 03 Jan 2019, 20:03

Ich muss die Threads wieder ganz lesen...
Moderative Beiträge sind explizit gekennzeichnet!
PHabermehl
Moderator
 
Beiträge: 1165
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 46

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 03 Jan 2019, 20:34

Ich habe den Fehler gefunden. Aus Sicherheitsgründen ist /home auf allen unseren Systemen als 'noexec' eingebunden. Aus der /etc/fstab:
Code: Alles auswählen
UUID=123-456-4451-789-aaa   /home        btrfs  subvol=@/home,defaults,noexec,nosuid,nodev     0  0


Das führt dazu, dass die shared libraries, die in diesem Volume liegen - und somit auch die /home/user/.jssc/linux/libjSSC-2.8_x86_64.so - nicht ausgeführt werden können.

Falls jemand ebenfalls von so einer Konstellation betroffen ist, das noexec aber gerne behalten möchte: Abhilfe schafft es, die Bibliothek an eine andere Stelle, an welcher Ausführungsrechte vorhanden sind, zu kopieren und durch einen Symlink zu ersetzen:
Code: Alles auswählen
cp /home/user/.jssc/linux/libjSSC-2.8_x86_64.so /opt/arduino/arduino-1.8.8
rm /home/user/.jssc/linux/libjSSC-2.8_x86_64.so
ln -s /opt/arduino/arduino-1.8.8/libjSSC-2.8_x86_64.so /home/user/.jssc/linux/libjSSC-2.8_x86_64.so


Hurra, es funktioniert!

Danke euch allen für eure Hilfe, ihr habt mich auf die richtige Lösung gebracht!
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon MasterOfGizmo » 04 Jan 2019, 09:55

Hast Du das auf noexec gesetzt oder war das Ubuntu selbst? In letzterem Fall dürften Canonical bzw. die Arduiino-Leute eine Lösung finden. Das betrifft ja alle Arduino-User.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1567
Registriert: 30 Nov 2014, 08:44

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon EstherM » 04 Jan 2019, 10:32

Guten Morgen,

timberwolf hat geschrieben:Ich habe den Fehler gefunden. Aus Sicherheitsgründen ist /home auf allen unseren Systemen als 'noexec' eingebunden.
Das führt dazu, dass die shared libraries, die in diesem Volume liegen - und somit auch die /home/user/.jssc/linux/libjSSC-2.8_x86_64.so - nicht ausgeführt werden können.

Auf diese Lösung wäre ich nie gekommen!

MasterOfGizmo hat geschrieben:Hast Du das auf noexec gesetzt oder war das Ubuntu selbst? In letzterem Fall dürften Canonical bzw. die Arduiino-Leute eine Lösung finden. Das betrifft ja alle Arduino-User.

Wir sind aber netter als die Arduino-Foren.

Gruß
Esther
Beiträge als Admin sind als solche gekennzeichnet.
EstherM
Administrator
 
Beiträge: 221
Registriert: 11 Dez 2011, 22:24

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 04 Jan 2019, 14:48

MasterOfGizmo hat geschrieben:Hast Du das auf noexec gesetzt oder war das Ubuntu selbst? In letzterem Fall dürften Canonical bzw. die Arduiino-Leute eine Lösung finden. Das betrifft ja alle Arduino-User.

noexec, nosuid und nodev für /home haben wir bei allen unseren Rechnern selbst gesetzt. Canonical und Arduino können nix dafür :D

EstherM hat geschrieben:Auf diese Lösung wäre ich nie gekommen!

Das ist wie bei memnaAangr: Erst rätselst du lange rum, aber sobald du das Wort herausbekommen hast, frägst du dich, wieso du es nicht früher gesehen hast.
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon MasterOfGizmo » 05 Jan 2019, 00:36

Wobei mir ja nicht klar ist, wieso Du das einstellst, obwohl Die nicht bewusst ist, was das im Endeffekt eigentlich tut.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1567
Registriert: 30 Nov 2014, 08:44

Re: ftDuino unter Ubuntu - Java Fehler

Beitragvon timberwolf » 05 Jan 2019, 19:15

Diese Einstellung ist durchaus bewusst gewählt, nur ist mir bisher keine Software untergekommen, die meint, bei Installation oder Ausführung entgegen aller Konventionen eine shared library im /home-Verzeichnis des Benutzers ablegen zu müssen.

Aber du hast recht, da hätte ich aufgrund der Fehlermeldung früher draufkommen müssen :lol:
timberwolf
 
Beiträge: 6
Registriert: 31 Dez 2018, 05:36


Zurück zu Robo Pro / Computing / Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste