Fix AppImage: Grammar-Dateien und Abhängigkeiten korrekt bündeln
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 <noreply@anthropic.com>
This commit is contained in:
parent
3b3bb966d4
commit
063fc6fc08
2 changed files with 65 additions and 0 deletions
13
CHANGELOG.md
13
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
|
||||
|
|
|
|||
52
README.md
52
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue