Linphone-Desktopのビルド
ホストマシンの環境に依存しないAppImageフォーマットでアプリを作成します。
Appimageの起動にlibfuse2ライブラリが必要です。
Ubuntu22.04以降ではデフォルトでlibfuse2がインストールされていないため、インストールします。
$ sudo apt install libfuse2
Linphone-SDKコンテナの起動
上記投稿記事のイメージからコンテナを起動します。FUSE
を使用するための管理者権限オプションを付与する必要があります。
$ docker run --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined --name linphone-sdk -v $PWD:/home/bc -it gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:22.04
AppImages require FUSE version 2 to run. Filesystem in Userspace (FUSE) is a system that lets non-root users mount filesystems.
linphone-sdk
コンテナ内で以下のコマンドを実行
$ pip install pystache six
$ eval "$(qtchooser -print-env)"
$ export Qt5_DIR=${QTLIBDIR}/cmake/Qt5
$ export PATH=${QTTOOLDIR}:$PATH
ビルドに必要な追加パッケージをインストール
$ sudo apt install wget fuse libfuse2
$ sudo apt install qml-module-qt-labs-folderlistmodel qml-module-qt-labs-platform qml-module-qt-labs-settings qml-module-qtgraphicaleffects qml-module-qtqml qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-privatewidgets qml-module-qtquick-shapes qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2
qml-module
については、以下のLinphone Desktop バグレポートも参照して下さい。
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978108
Qtドキュメント
https://doc.qt.io/
QML Modules
QML Modules | Qt QML 5.15.16
Qt Product Map
Qtオープンソース
ターミナルまたはスクリプトによりインストール
$ sudo apt install -y qtcreator qtbase5-dev qt5-qmake cmake
ソースのダウンロード・Makeファイルの作成・ビルド
AppImageパッケージを出力するため -DENABLE_APP_PACKAGING=YES
を指定
$ git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive
$ cd linphone-desktop
$ mkdir build
$ cd build
$ cmake .. -DENABLE_APP_PACKAGING=YES -DCMAKE_BUILD_PARALLEL_LEVEL=10 -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ cmake --build . --target install --parallel 10 --config RelWithDebInfo
RelWithDebInfo
以下のディレクトリ・ファイル名でAppImageが作成されます。
実行権は付与されているので、これを任意の場所へ移動してダブルクリックして起動します。
build/OUTPUT/Packages/Linphone-5.1.0-alpha.40+e198f5f7.AppImage
シェルから起動することで各種ログを確認することが出来ます。
$ ./Linphone-5.1.0-alpha.40+e198f5f7.AppImage
下記も参照して下さい。