Run the linphone-sdk container from the created image, then import the Linphone source into the container, and build & compile it.
Install the built Linphone on the host machine and check its functions.
Source Code
1. Run linphone-sdk Container
Start the following linphone-sdk docker container in any directory (projects).
$ docker run --name linphone-desktop -v $PWD:/home/bc -it gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:20.04
2. Download Linphone Desktop, Build & Compile
Build Linphone after installing the required Python packages in the container. Execute the following commands up to the build process.
Reference)
$ 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. Run Linphone Desktop on The Host Machine(Ubuntu 20.04)
You can delete the linphone-desktop container if you don't need it. Exit from the container and delete it.
$ exit
$ docker rm linphone-desktop
Install the following qt5 packages to the host machine.
$ 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
Execute the following commands in project/linphone-desktop/build
directory for starting Linphone.
$ ./OUTPUT/bin/linphone --verbose
Or the built binaries and related libraries are stored in the OUTPUT directory, so you can copy the contents in it to the /opt directory and set the path for these.
You can run Linphone:
$ linphone