作成したイメージからlinphone-sdkコンテナを起動、そのコンテナ内にLinphoneのソースを取り込んでビルド・コンパイル、ビルドしたLinphoneをホストマシンへインストールして動作確認します。
ソースコード
1. linphone-sdkコンテナの起動
任意のディレクトリ(projects)内で以下 linphone-sdk docker コンテナを起動。
$ docker run --name linphone-desktop -v $PWD:/home/bc -it gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:20.04
2. Linphone Desktopのダウンロード、ビルド・コンパイル
コンテナ内でビルドに必要なPythonパッケージをインストール後ビルド。以下ビルドまでの一連のコマンドを実行して下さい。
参照)
$ pip install --user six pystache graphviz
$ pip3 install --user six pystache graphviz
$ eval "$(qtchooser -print-env)"
$ export Qt5_DIR=${QTLIBDIR}/cmake/Qt5
$ export PATH=${QTTOOLDIR}:$PATH
$ git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive
$ cd linphone-desktop
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_PARALLEL_LEVEL=10 -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ cmake --build . --target install --parallel 10 --config RelWithDebInfo
3. Ubuntu 20.04ホストマシン上で起動
ビルドする際に使用したlinphone-desktop
コンテナは必要なければ削除して構いません。コンテナから出て削除します。
$ exit
$ docker rm linphone-desktop
ホストマシンに以下パッケージをインストールします。
$ sudo apt install qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5texttospeech5-dev qtdeclarative5-dev qtdeclarative5-dev-tools qtquickcontrols2-5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtqml-models2 qml-module-qtquick-templates2 qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform
ビルドした project/linphone-desktop/build
ディレクトリ内で以下コマンドを実行し起動。
$ ./OUTPUT/bin/linphone --verbose
またはビルドしたバイナリファイルと関連ライブラリは OUTPUT
ディレクトリに格納されているため、この中身を /opt
ディレクトリへコピーしパスを通すことで
$ linphone
で起動出来るようになります。