mikrocontroller.net

Forum: PC-Programmierung QT auf Beaglebone Black - libGLESv2.so.1 wird nicht gefunden


Autor: Andreas Gassner (andreasgs)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

Ich möchte auf dem BBB eine QT Applikation entwicklen. Dazu arbeite ich 
grade das Tutorial von TI durch.

http://processors.wiki.ti.com/index.php/Sitara_Lin...

Ich habe eine VM erstellt und hier das SDK für den BBB installiert. Hier 
habe ich auch die Helloworld compiliert. Nun hänge ich grad beim Punkt 
LAP1 22.

Wenn ich jetzt nach Make die helloworld von der VM aus das BBB 
verschiebe und mit ./helloworld aufrufe kommt der Fehler:
debian@beaglebone:~$ ./helloworld
./helloworld: error while loading shared libraries: libGLESv2.so.1: cannot open shared object file: No such file or directory

Folgende DLLs werden vom helloworld benötigt.
debian@beaglebone:~$ ldd helloworld
  linux-vdso.so.1 (0xbec48000)
  libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0xb6b68000)
  libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0xb683e000)
  libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0xb64ca000)
  libGLESv2.so.1 => not found
  libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb64a6000)
  libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb639a000)
  libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6322000)
  libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb62f9000)
  libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb620b000)
  libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0xb61f2000)
  /lib/ld-linux-armhf.so.3 (0xb6f94000)
  libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0xb6176000)
  libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6154000)
  libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb6124000)
  libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0xb5f77000)
  libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0xb5e4e000)
  libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0xb5df6000)
  libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0xb5dd8000)
  libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb5dc5000)
  libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xb5cea000)
  librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb5cd4000)
  libdrm.so.2 => /usr/lib/arm-linux-gnueabihf/libdrm.so.2 (0xb5cb9000)
  libglapi.so.0 => /usr/lib/arm-linux-gnueabihf/libglapi.so.0 (0xb5c85000)
  libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb5c0c000)
  libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0xb5be1000)
  libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0xb4354000)
  libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xb42f5000)

Im SDK der VM für das BBB finde ich diese DLL. Ich hab sie mal auf das 
BBB ins Verzeichnis /usr/lib verschoben. Wenn ich jetzt mit ls den 
Ordnerinhalt anzeigen lasse erscheint die Datei als einziges rot, Warum? 
Danach hab ich noch ldconfig, mit der Hoffnung dass er dann die neue 
Datei im Verzeichnis findet und lädt. Dies führt jedoch dazu, dass die 
Kopierte DLL wieder aus dem Verzeichnis verschwindet.

Ich kapiers ned. Kann mir jemand hier weiterhelfen?

: Verschoben durch Moderator
Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas G. schrieb:
> Ich hab sie mal auf das BBB ins Verzeichnis /usr/lib verschoben. Wenn ich
> jetzt mit ls den Ordnerinhalt anzeigen lasse erscheint die Datei als
> einziges rot, Warum?

Vermutlich weil das nur ein Symlink ist. Wenn du nur den Link kopierst 
und nicht die Datei, auf die er verweist, zeigt der Link ins leere. Das 
wird von ls daher rot markiert. Normalerweise wird auch angezeigt, 
worauf er verweist.
Ist eh keine gute Idee, in Systemverzeichnissen von Hand 
herumzufuhrwerken. Dazu gibt's das Package-Management. Ich kann dir aber 
nicht sagen, wie die Installation bei deinem BBB dann aussehen müsste.

> Danach hab ich noch ldconfig, mit der Hoffnung dass er dann die neue
> Datei im Verzeichnis findet und lädt. Dies führt jedoch dazu, dass die
> Kopierte DLL wieder aus dem Verzeichnis verschwindet.

Ja, ldconfig entfernt solche kaputten Symlinks.

Autor: Ralf Döblitz (doeblitz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas G. schrieb:
[...]
> Wenn ich jetzt nach Make die helloworld von der VM aus das BBB
> verschiebe und mit ./helloworld aufrufe kommt der Fehler:
>
> debian@beaglebone:~$ ./helloworld
> ./helloworld: error while loading shared libraries: libGLESv2.so.1: 
> cannot open shared object file: No such file or directory

Don't do that, then. ;-)

Mal ernsthaft: das Zielsystem ist eine Debian-Installation. Der ganz 
saubere Weg, ist sich selbst ein Debian-Package zubauen und dieses auf 
dem Zeilsystem zu installieren. Dazu gibt man in den 
Package-Dependencies an, welche anderen Packages alle benötigt werden. 
Üblicherweise sind das die ganzen Runtime-Packages zu den für die 
Entwicklung benutzten Development-Packages.

Die nicht ganz so elegante Variante ist - wie von dir gemacht - einfach 
das Binary auf das Zielsystem zu kopieren. Dann muß man sich noch selbst 
darum kümmern, dass auch die benötigten Runtime-Packages installiert 
werden. Dir fehlt höchstwahrscheinlich einfach nur libgles2-mesa - 
installier das und dein Programm sollte laufen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralf D. schrieb:
> Dir fehlt höchstwahrscheinlich einfach nur libgles2-mesa -
> installier das und dein Programm sollte laufen.

Das BBB mit Mesa zu nutzen ist unsinnig. Nur mit der libGLESv2 aus dem 
TI Graphics SDK hat man HW-beschleunigte Grafik.

Autor: Andreas Gassner (andreasgs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Ralf D. schrieb:
>> Dir fehlt höchstwahrscheinlich einfach nur libgles2-mesa -
>> installier das und dein Programm sollte laufen.
>
> Das BBB mit Mesa zu nutzen ist unsinnig. Nur mit der libGLESv2 aus dem
> TI Graphics SDK hat man HW-beschleunigte Grafik.


Kannst dazu noch etwas mehr erzählen? Ich lese daraus, dass ich auf das 
bbb das ti Grafik sdk(hast evtl. Nen link drauf?!?) herunterlade, und da 
kommt dann über die paketverwaltung die dll mitgefahren?

Mesa hab ich schon vor ein paar tagen vergeblich versucht zu laden. Das 
ging schief, es stellte sich abet raus, dass die ganze installation 
buggy war.

Soll ich nochmal nen versuch mit mesa starten, oder gleich das sdk 
installieren?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.