Fehler beim kompilieren von welle.io / QT

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    Ich möchte gerne eine DAB-Software auf dem Desktop von Raspbian installieren.

    Dabei habe ich Probleme beim kompilieren von welle.io (DAB-Software).

    Ich kann QT nicht installieren.

    Ab "Schritt 7" muss man die Befehle auf dem Host-Computer ausführen, in meinem Fall ein Raspbian, das in VMware (Windows) ausgeführt wird.

    Ich komme bis einschließlich "Schritt 11", aber bei "Schritt 12" heißt es, dass der Befehl "-device-option" nicht gefunden wurde.

    Code
    pi@raspberry:~/raspi/qt5 $ -device-option CROSS_COMPILE=~/raspi/gcc-linaro-5.5.0-2017.10-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
    -bash: -device-option: command not found

    Somit funktioniert auch "make" und "make install" von QT nicht.

    Code
    pi@raspberry:~/raspi/qt5 $ make
    make: *** No targets specified and no makefile found.  Stop.

    Ich habe die Befehle per Copy & Paste in die SSH-Konsole des Host-Rechners eingefügt.

    Augenscheinlich gab es keinen Fehler beim Herunterladen von QT...

    Wo ist der Fehler?

    (https://github.com/AlbrechtL/well…RASPBERRY-PI.md)

    • Offizieller Beitrag

    Wenn ich das schon wieder lese... :no_sad:

    ON RASPBERRY PI:

    3. Update Raspbian and update to the latest packages.

    sudo rpi-update

    sudo apt update

    sudo apt dist-upgrade

    Da rollen sich mir die Fußnägel hoch. :fluchen:

  • Wenn ich das schon wieder lese... :no_sad:

    Da rollen sich mir die Fußnägel hoch. :fluchen:

    ... und weil das noch nicht reicht, davor noch ein geschmeidiges "Download NOOBS" :baeh2:

  • Leider lässt sich QT nicht installieren.

    Wenn ich diesen Befehl eingebe

    Code
    pi@raspberry:~/raspi/qt5 $ ./configure -release -opengl es2 -device-option CROSS_COMPILE=~/raspi/gcc-linaro-5.5.0-2017.10-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

    (Dieser Befehl wird auf dem Host in einem Raspbian unter VMware, Windows, ausgeführt)

    bekomme ich folgende Meldung:

    qmake oder make wurden auch nicht gefunden:

    Code
    pi@raspberry:~/raspi/qt5 $ qmake
    -bash: qmake: command not found
    Code
    pi@raspberry:~/raspi/qt5 $ make
    make: *** No targets specified and no makefile found. Stop.

    In einem "Issue" bei welle.io (Github) konnte man nicht weiterhelfen.

    Wisst ihr, wie ich jetzt welle.io kompilieren kann?

  • Hallo Rootinator,
    ungefähr da bin ich auch hängengeblieben. Jedoch hab ich es am Mac probiert.
    Das headunit image habe ich auch ausprobiert mit "Deinem Erfolg" -> ohne Audio.
    Leider kommt man nicht auf die Eingabeaufforderung um raspi-config aufzurufen.
    Da könnte man den Audioausgang einstellen.

  • Müsste da wirklich "arm" stehen, denn erst muss doch QT auf dem Host (nicht Raspberry) installiert werden (ab Schritt 7)?

    Der Host läuft unter 32 bit.

    Oder, gibt es auch ein bereits fertiges AppImage von welle.io für den Raspberry?

  • > Müsste da wirklich "arm" stehen, denn erst muss doch QT auf dem Host (nicht Raspberry) installiert werden (ab Schritt 7)?

    Und wofuer steht dann -device-option CROSS_COMPILE=...arm-linux-gnueabihf ?

    Die Kommandozeile muss natuerlich GANZ GENAU stimmen bis auf die 32Bit:

    Code
    /configure -release -opengl es2 -device <rpi-version> -device-option CROSS_COMPILE=~/raspi/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -no-use-gold-linker -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v

    Zumindest die Option -device steht nirgends in der Zeile die Fehler produziert.

  • Ich hole das Thema mal wieder heraus, da es noch immer aktuell ist...

    Ich habe es nun erneut versucht, welle.io zu Cross-Kompilieren, aber ich bekomme es einfach nicht gebacken.

    Ich gehe nach Anleitung vor (https://github.com/AlbrechtL/well…RASPBERRY-PI.md).

    Bei Schritt 9 hängt es bereits, da "python" nicht gefunden wird:

    Code
    a@ubuntu:~/raspi$ ./sysroot-relativelinks.py sysroot
    /usr/bin/env: ‘python’: No such file or directory

    Ich habe dann trotzdem mit den anderen Schritten weitergemacht.

    Nun, qt5 lässt sich auch nicht konfigurieren (Schritt 12).

    Ich benutze folgenden Befehl:

    Code
    a@ubuntu:~/raspi/qt5$ ./configure -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=~/raspi/gcc-linaro-5.5.0-2017.10-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

    (mein Host ist ein 64-bit-System und kein ARM).

    Beim grob drüber schauen finde ich auch ein paar Fehler, z.B. am Ende:

    Code
    ERROR: Feature 'opengles2' was enabled, but the pre-condition 'config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)' failed.
    
    
    
    ERROR: The OpenGL functionality tests failed!
    
    You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
    
    QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

    Ich füge mal die komplette Ausgabe hier ein:

    Spoiler anzeigen

    Führe ich "make" aus, kommt folgende Meldung:

    Zitat

    a@ubuntu:~/raspi/qt5$ make

    make: *** No targets specified and no makefile found. Stop.

    Selbst dieser Befehl von User Tell schlägt fehl (ich habe die Raspi-Version eingefügt):

    Code
    ./configure -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=~/raspi/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -no-use-gold-linker -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v
    Code
    ERROR: Feature 'opengles2' was enabled, but the pre-condition 'config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)' failed.
    
    ERROR: The OpenGL functionality tests failed!
    You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
    QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

    Kann mir bitte jemand sagen, wo der Fehler liegt und wie ich welle.io Cross-Kompilieren kann?

  • Bei Schritt 9 hängt es bereits, da "python" nicht gefunden wird:

    Code
    a@ubuntu:~/raspi$ ./sysroot-relativelinks.py sysroot
    /usr/bin/env: ‘python’: No such file or directory

    Ich habe dann trotzdem mit den anderen Schritten weitergemacht.

    Klingt wie: "Es ist kein Motor im Auto, ich habe dann trotzdem weitergemacht. Aber irgendwie fährt es nicht...."

    Wenn python in Deinem Ubuntu nicht gefunden wird, dann könntest Du es ja ziemlich einfach installieren. Alle nachfolgenden Probleme könnten daraus folgen und es ist müßig, weiter hinten weiterzumachen.

  • Ich habe nun das "richtige Python" installiert und konnte nun auch Schritt 9 abarbeiten.

    Jetzt konnte ich den QTCreator installieren, aber beim Erstellen eines neuen Kits tritt ein Fehler auf:

    Code
    Fehler: Der Compiler "GCC ARM++" (arm-linux-generic_elf-32bit) kann für die Qt-Version "Qt 5.12.5 GCC 64bit" (x86-linux-generic-elf-64bit) keinen Code erstellen.
    Warnung: No devices set.

    Habe ich dafür eine zu neue Version installiert? (In der Anleitung steht doch "version 5.9.3 or higher" (ich habe 5.12.5 installiert).

    Folglich kommt beim Erstellen von welle.io der Fehler

    Code
    [sub-src-welle-gui-qmake_all] Error 3

    Das könnte auf das fehlerhafte Kit zurückzuführen sein.

    Wie kann ich diesen Fehler beheben?

    Einmal editiert, zuletzt von Rootinator (28. Dezember 2019 um 23:32)

  • Ich konnte nun erfolgreich den QTCreator samt Kits installieren.

    Leider bekomme ich beim Kompilieren noch einige Fehler:

    Laut Anleitung muss man "CONFIG += airspy" in der "welle.io.pro" auskommentieren (Schritt 23), von Airspy steht dort nichts. Man kann dies nur in "tests/backend/backend.pri" Zeile 17 finden. Ich habe es dort auskommentiert.

    Dann sind nach dem Klick auf den Hammer schon einige Warnungen im QTCreator aufgetaucht:

    Code
    /home/a/Desktop/welle.io/../welle.io/src/backend/viterbi.cpp:234: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (temp < 0) temp = 0; ^
    Code
    /home/a/Desktop/welle.io/../welle.io/src/backend/viterbi.cpp:234: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (temp < 0) temp = 0; ^
    Code
    /home/a/Desktop/welle.io/../welle.io/src/backend/viterbi.cpp:234: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (temp < 0) temp = 0; ^
    Code
    /home/a/Desktop/welle.io/../welle.io/src/welle-cli/tests.cpp:368: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 8 has type ‘std::chrono::duration<long long int, std::ratio<1ll, 1000ll> >::rep {aka long long int}’ [-Wformat=] std::accumulate(tph.rsErrorStats.begin(), tph.rsErrorStats.end(), 0)); ^
    Code
    /home/a/Desktop/welle.io/../welle.io/src/welle-gui/gui_helper.cpp:543: warning: unused parameter ‘fileFormat’ [-Wunused-parameter] void CGUIHelper::openRawFile(QString fileFormat) ^

    Eigentlich sollte eine Datei (oder ein Ordner?) mit dem Namen "welle-io" erstellt worden sein. Dies ist jedoch nicht der Fall.

    Im Release-Ordner "build-welle.io-Raspberry_Pi-Release" gibt es nur einen Ordner "src" und eine Datei "Makefile".

  • Leider wurde dennoch welle.io nicht erfolgreich kompiliert...

    Andere Fehlermeldungen sind nicht vorhanden.

    Gerne poste ich mal meine Einstellungen vom QTCreator:

    Und hier die Ausgabe des Build-Ordners, den der QTCreator erstellt hat:


    Laut Anleitung (Schritt 25) müsste eine neue Datei namens welle-io erstellt werden sollen, dem ist aber nicht so.

  • Ich habe nun auch schon mehrere Tage damit verbracht welle.io auf dem Raspi mit dem RTL-SDR-Stick zu installieren - ohne merklichen Erfolg.

    Falls jemand sich mehrere hundert Euro verdienen möchte und mir ein funktionierendes Installationsfile liefern kann oder ein fertiges Image bei dem es möglich ist welle.io über eine VNC Verbindung (also Remote) zu betreiben und zu hören. Der möge sich bitte bei mir per PN melden.

    Ich habe einfach nicht die Zeit dazu mich mit dem Teil auseinander zu setzen.

  • Ich habe nun den Fehler gefunden.

    Die Anleitung für welle.io für den RPi ist etwas fehlerhaft.

    Wenn man genau nach der Anleitung vorgeht, bekommt man am Ende im Build-Ordner den Ordner src.

    Man wechselt nach build-welle.io-Raspberry_Pi-Release/src/welle-gui und kopiert die Datei welle-io ohne weitere Dateien auf den Raspberry.

    Jetzt muss man welle.io ausführbar machen (sudo chmod +x welle-io) und dann kann man welle.io verwenden.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!