From 063fc6fc08bce8b729806d72a313d27502425cbe Mon Sep 17 00:00:00 2001 From: data Date: Wed, 18 Feb 2026 07:38:52 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20AppImage:=20Grammar-Dateien=20und=20Abh?= =?UTF-8?q?=C3=A4ngigkeiten=20korrekt=20b=C3=BCndeln?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Das AppImage crashte beim Start mit SIGABRT weil die SIP-Grammar-Dateien (.belr) fehlten und keine System-Libraries gebündelt waren. Jetzt werden alle Abhängigkeiten (Qt6, Audio, Crypto, Codecs) und Grammar-Dateien vollständig eingepackt. README mit AppImage-Build-Anleitung ergänzt. Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 13 +++++++++++++ README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff0a024c..83968fc9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,19 @@ Group changes to describe their impact on the project, as follows: Fixed for any bug fixes. Security to invite users to upgrade in case of vulnerabilities. +## [6.2.1-pre.8] - 2026-02-18 + +### Fixed +- AppImage: Fehlende Grammar-Dateien (sip_grammar.belr, sdp_grammar.belr, cpim_grammar.belr, ics_grammar.belr, identity_grammar.belr, mwi_grammar.belr) werden jetzt korrekt gebündelt. Der SIP-Parser (belle-sip) konnte ohne diese Dateien nicht initialisieren → SIGABRT beim Start. +- AppImage: Alle Abhängigkeiten (Qt6, Audio, Crypto, Codecs, etc.) werden jetzt vollständig im AppImage gebündelt. Vorher war das AppImage auf System-Libraries angewiesen und konnte nach System-Updates brechen. + +### Changed +- AppImage-Größe: 78 MB → 135 MB (weil jetzt alle Libs korrekt gebündelt sind) +- AppRun-Script: Setzt LD_LIBRARY_PATH, QT_PLUGIN_PATH und QML2_IMPORT_PATH korrekt auf gebündelte Pfade +- Qt-Plugins (Wayland, XCB, Multimedia, TLS, Imageformats) werden mitgeliefert +- QML-Module (QtQuick, QtCore, QtQml, QtMultimedia) werden mitgeliefert + + ## [6.1.0] - Unreleased 6.1.0 release is the complete version of the new Linphone Desktop with all features including chat diff --git a/README.md b/README.md index a2171a0c..d7c8a4f3 100755 --- a/README.md +++ b/README.md @@ -308,6 +308,58 @@ The default build is very long. It is prefered to use the Ninja generator `-G "N 5. The project folder will be in the build directory and binaries should be in the OUTPUT folder. +## AppImage erstellen (Linux) + +Das AppImage muss **alle Abhängigkeiten vollständig bündeln** – keine System-Libraries voraussetzen. + +### Voraussetzungen +- Erfolgreicher Build im `build/OUTPUT/` Verzeichnis +- `linuxdeploy` und `linuxdeploy-plugin-qt` (werden automatisch heruntergeladen) +- `appimagetool` (falls linuxdeploy das AppImage nicht direkt erstellen kann) + +### Build-Schritte + +```bash +cd build +bash ../cmake/install/create_appimage.sh linphone Linphone-x86_64 /usr +``` + +### Wichtige Hinweise + +**Grammar-Dateien prüfen:** Das AppImage MUSS folgende `.belr`-Dateien unter `usr/share/belr/grammars/` enthalten: +- `sip_grammar.belr` (SIP-Parser – **ohne diese crasht die App beim Start!**) +- `sdp_grammar.belr` (SDP-Parser) +- `cpim_grammar.belr`, `ics_grammar.belr`, `identity_grammar.belr`, `mwi_grammar.belr` +- `vcard_grammar.belr`, `vcard3_grammar.belr` + +Diese Dateien kommen aus dem linphone-sdk Build (`OUTPUT/share/belr/grammars/`). + +**Gebündelte Abhängigkeiten prüfen:** Nach dem Build sicherstellen, dass folgende Libs im AppImage enthalten sind: +- Qt6 (Core, Quick, Widgets, Gui, Network, DBus, Svg, Qml, etc.) +- Qt-Plugins (platforms/wayland, xcb; imageformats; tls; multimedia) +- QML-Module (QtQuick, QtCore, QtQml, QtMultimedia) +- Linphone-Libs (liblinphone, libbelle-sip, libbctoolbox, libbelr, libmediastreamer2, etc.) +- Audio (libopus, libspeex, libgsm) +- Crypto (libmbedtls, libmbedcrypto, libdecaf, libbzrtp) + +**Verifizierung:** +```bash +# AppImage extrahieren und Abhängigkeiten prüfen +./Linphone-x86_64.AppImage --appimage-extract +LD_LIBRARY_PATH=squashfs-root/usr/lib ldd squashfs-root/usr/bin/linphone | grep "not found" +# Sollte NICHTS ausgeben – alle Libs müssen aufgelöst werden +``` + +### Fehlerbehebung + +| Symptom | Ursache | Lösung | +|:---|:---|:---| +| SIGABRT beim Start, `bctbx_logv → abort` | Fehlende Grammar-Dateien | `.belr`-Dateien in `usr/share/belr/grammars/` prüfen | +| `strip: unknown type [0x13] section .relr.dyn` | Alte strip-Version in linuxdeploy | Harmlose Warnung, ignorieren | +| Kein AppImage generiert | Desktop-File/Icon fehlt im AppDir | `.desktop` + Icon vor linuxdeploy-Aufruf bereitstellen | +| App startet, aber kein Fenster | QML-Module fehlen | Qt-QML-Module in `usr/qml/` prüfen | + + ## Specific instructions for Linux ```bash