QT auf Beaglebone Black - libGLESv2.so.1 wird nicht gefunden

OP #5252841
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_Linux_Training:_Hands_on_with_QT?keyMatch=hands%20on%20qt&tisearch=Search-EN

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:
1
debian@beaglebone:~$ ./helloworld
2
./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.
1
debian@beaglebone:~$ ldd helloworld
2
  linux-vdso.so.1 (0xbec48000)
3
  libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0xb6b68000)
4
  libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0xb683e000)
5
  libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0xb64ca000)
6
  libGLESv2.so.1 => not found
7
  libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb64a6000)
8
  libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb639a000)
9
  libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6322000)
10
  libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb62f9000)
11
  libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb620b000)
12
  libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0xb61f2000)
13
  /lib/ld-linux-armhf.so.3 (0xb6f94000)
14
  libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0xb6176000)
15
  libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6154000)
16
  libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb6124000)
17
  libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0xb5f77000)
18
  libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0xb5e4e000)
19
  libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0xb5df6000)
20
  libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0xb5dd8000)
21
  libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb5dc5000)
22
  libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xb5cea000)
23
  librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb5cd4000)
24
  libdrm.so.2 => /usr/lib/arm-linux-gnueabihf/libdrm.so.2 (0xb5cb9000)
25
  libglapi.so.0 => /usr/lib/arm-linux-gnueabihf/libglapi.so.0 (0xb5c85000)
26
  libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb5c0c000)
27
  libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0xb5be1000)
28
  libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0xb4354000)
29
  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?
Angehängte Dateien:
#5252987
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.
#5253218
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:
>
1
> debian@beaglebone:~$ ./helloworld
2
> ./helloworld: error while loading shared libraries: libGLESv2.so.1: 
3
> 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.
OP #5253513
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.