如何安装最新版本的Linphone?


9

我想安装最新版本的Linphone。我试图在Ubuntu 16.04上使用以下过程进行安装:

sudo add-apt-repository ppa:linphone/release
sudo apt-get update
sudo apt-get install linphone

这仅安装版本3.6.1(当前版本是3.9.1)。我尝试使用以下过程安装更新的版本:

sudo add-apt-repository ppa:rayanayar/linphone
sudo apt-get update
sudo apt-get install linphone

但是,运行此安装程序的Linphone时,会遇到以下错误:

linphone: symbol lookup error: /usr/lib/x86_64-linux-gnu/liblinphone.so.8: undefined symbol: belle_sip_stack_set_http_proxy_host

那么,如何安装最新版本的Linphone?


3
从源代码编译如何?你可以把我的资料告诉我,我就此写一个答案。
Videonauth

@Videonauth嘿!如果您可以看一下,我将不胜感激。可以在以下位置找到源:linphone.org/downloads-for-desktop.html我自己尝试过,但是在确保依赖项可用时遇到了困难。
d3pd

编译好了,在下面检查我的答案。
Videonauth

@ d3pd我想在ubuntu 18上安装flexisip并构建linphone android和ios应用程序。我进行了很多搜索,但没有找到任何完整且易于遵循的解决方案。然后我找到了ficus.myvnc.com/en/blog/…它正在使用docker。我想问一下是否还有其他指南。我不是技术人员,但是我可以按照指南进行操作。
Umair

Answers:


10

要从源代码进行编译,您需要首先安装以下软件包作为依赖项(请谨慎选择整个框并将其粘贴到终端中):

sudo apt-get install git build-essential automake autoconf libtool   \
intltool libgtk2.0-dev libspeexdsp-dev libavcodec-dev libswscale-dev \
libx11-dev libxv-dev libgl1-mesa-dev libreadline-dev libgsm1-dev     \
libtheora-dev libsqlite3-dev libupnp-dev libsrtp-dev open-vm-tools   \
open-vm-tools-dev cmak* libmbedtls-dev libmbedtls-doc libmbedtls10   \
libcunit1 libcunit1-dev libantlr3c-dev libantlr3-runtime-java antlr3 \
libortp-dev libortp9 libmediastreamer-base3 libmediastreamer-dev     \
extra-cmake-modules yasm

对于Ubuntu 18.04,您还需要以下软件包:

python-pystache libv4l-dev libpulse-dev libglew-dev doxygen libbsd-dev \
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

现在,您可以按照以下步骤进行编译和安装:

git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git
cd linphone-desktop
git submodule sync && git submodule update --init --recursive
./prepare.py
make
sudo make install

愉快的大厦。请让我知道它是否可以在您构建的系统上为您工作,但我不想安装它。


哇,非常感谢您抽出宝贵的时间来使此编译工作。这对我来说在16.04上也适用。这个git submodule命令很棒。谢谢!
d3pd

1
我还必须安装pystache的python2版本以及doxygen和graphviz的apt二进制文件。
Alex Combas

@videonauth我想在ubuntu 18上安装flexisip并构建linphone android和ios应用程序。我进行了很多搜索,但没有找到任何完整且易于遵循的解决方案。然后我找到了ficus.myvnc.com/en/blog/…它正在使用docker。我想问一下是否还有其他指南。我不是技术人员,但是我可以按照指南进行操作。
Umair

5

由于我无法发表评论,因此将其添加为另一个答案:

我今天尝试了接受的答案(在xubuntu 16.04上)并收到消息

Could not find a support sound driver API 

我通过安装libasound2-dev来解决此问题:

sudo apt-get install libasound2-dev

为了摆脱其他警告,我安装了更多软件包:

须藤apt-get install libv4l-dev libvpx-dev libgl1-mesa-dev

同样,make目标安装似乎不再存在。

但是linphone可以直接从输出目录运行

输出/桌面/ bin / linphone

希望这可以帮助!


5

工作于16.04

必须是root

sudo su

安装flatpak(它将为您编译所有内容)

sudo apt install flatpak

使用Flatpak安装Linphone

flatpak --user install --from https://linphone.org/flatpak/linphone.flatpakref

1
我尝试了这种方法,但是得到了:应用程序com.belledonnecommunications.linphone / x86_64 / 4.1.1需要运行时org.freedesktop.Platform / x86_64 / 1.6。我该如何安装Freedesktop Thing?
老盖泽

我可以验证,它可以在Ubuntu 18.04上使用,尽管我在开始菜单中没有输入任何内容,但我不得不使用flatpak listflatpak run启动应用程序并添加菜单项。
Trendfischer

4

2017年6月,Linphone Desktop 4发布了。这样,它的作者Belledonne Communications从GTK + 2更改为Qt 5.9 LTS(更精确地说:他们使用Qt Quick Controls 2更改为QML)。此外,他们还增加了通过Flatpak下载即用型二进制文件的可能性。因此,尽管先前的答案在当时是正确的,但它们发生了变化:

a)从Flatpak下载

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --user install --from https://linphone.org/flatpak/linphone.flatpakref
flatpak run com.belledonnecommunications.linphone --verbose

b)从源代码构建

  • 去使用Ubuntu 14.04 LTS,和/或
  • 由于您是开发人员,因此要调试/贡献给Linphone
  • 享受最新功能和错误修复,和/或
  • 获得更多的视频和音频编解码器。

通过Flatpak提供的变体仅将VP8作为视频编解码器。如果您自己构建,则将添加MP4V-ES,H.263和H.264。作为音频编解码器,添加了AMR,AMR-WB,iLBC,iSAC和SiLK。此外,您还可以选择甚至添加G.726和Codec2。但是,到目前为止,这两个模块需要进行修补以与其他VoIP / SIP实现(错误的字节序和错误的比特率)一起使用。

要编译自己,您需要Qt Framework。因此,您
a)选择Qt Installer,
b)选择Ubuntu 18.04 LTS及其现有的Qt 5.9软件包。

步骤1a:Qt安装程序

wget download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
chmod u+x ./qt-unified-linux-*.run
./qt-unified-linux-*.run

在安装程序中,进入Qt→Qt 5.9.x→桌面。设置PATH和时Qt5_DIR,请确保其与您下载的版本匹配:

Qt5_DIR="~/Qt/5.9.9/gcc_64/lib/cmake"
PATH="~/Qt/5.9.9/gcc_64/bin/:$PATH"

步骤1b:Qt软件包

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

如上所述,这仅适用于最新的Ubuntu。对于较旧的Ubuntu版本,我将按照替代方法A中的说明去安装Qt Installer。此外,源代码中的注释表明,Belledonne Communications不坚持长期支持(LTS)版本,但需要下一个稳定版本。释放时,释放下一个稳定分支后(例如,释放Qt 5.11时,Linphone可能已经要求Qt 5.10)。因此,当您阅读此答案时,此替代B可能已不再是选择。

适用于Ubuntu 14.04 LTS的步骤2

sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake3 curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python-pystache python-six libudev-dev libwww-perl libxv-dev yasm libpolarssl-dev libsqlite3-dev libxml2-dev libsrtp0-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev

适用于Ubuntu 16.04 LTS的步骤2

sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python3-distutils python3-pystache python3-six libudev-dev libwww-perl libxv-dev yasm libmbedtls-dev libsqlite3-dev libxml2-dev libsrtp0-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev

适用于Ubuntu 18.04 LTS的步骤2

sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python3-distutils python3-pystache python3-six libturbojpeg0-dev libudev-dev libwww-perl libxv-dev yasm libmbedtls-dev libsqlite3-dev libxml2-dev libsrtp2-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libxerces-c-dev libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev

第三步

git clone git://git.linphone.org/linphone-desktop --recursive
cd ./linphone-desktop
python3 prepare.py --use-system-dependencies --all-codecs --debug --list-cmake-variables -DENABLE_AMRWB=OFF -DENABLE_AMR=OFF -DENABLE_UNMAINTAINED=ON -DENABLE_JPEG=OFF
make
gdb ./OUTPUT/desktop/bin/linphone -ex 'run --verbose'

在Ubuntu 14.04 LTS中,您可以使用python2。在Ubuntu 18.04 LTS中,您可以删除-DENABLE_JPEG=OFF。在Ubuntu 19.10中,您必须修补头文件。到今天为止,AMR(-WB)实现中存在多个错误。因此在这里被禁用。


旁注:请仔细检查quality_reporting_enabled文件中的值~/.config/linphone/linphonerc是否反映了您的数据收集和隐私利益。对我来说,0禁用了在每次通话后发送给Belledonne Communications的遥测数据。但是,我找不到通过图形用户界面更改该值的方法。


听起来不错。不幸的是,这在18.04上对我不起作用:与Linphone Desktop一样,通常的“目标'全部'配方失败”。/ cmake'Makefile:83:目标'all'的配方失败make [1]:*** [all]错误2 make [1]:离开目录'/ usr / local / src / linphone-desktop / WORK / desktop / cmake的” Makefile文件:14:配方目标'桌面生成'失败化妆:*** [桌面生成]错误2
opinion_no9

@ opinion_no9,您很幸运:昨天,我不得不在原始的Ubuntu 18.04 LTS安装上重新构建最新的Linphone。但是,它没有任何问题。(1)哪个cmake-builder完全失败了-主要的?(2)cmake是否生成了CMakeOutput.log针对该失败的生成器的文件?我看到您尝试进行编译/usr/local/src。我还没有尝试过,但是在普通用户的主文件夹中做了所有操作。(3)您是否已尝试在普通Documents文件夹中进行构建?
亚历山大·特劳德

@AlexanderTraud我尝试了flatpack方法,但得到了“应用程序com.belledonnecommunications.linphone / x86_64 / 4.1.1需要运行时org.freedesktop.Platform / x86_64 / 1.6,但未找到”这是什么freedesktop的东西?
老盖泽

@OldGeezer您使用哪个版本的Ubuntu?通常,运行时Freedesktop是通过Flathub安装/可用的。以前,Flathub是自动添加的。但是,Flatpak更改了他们的说明(我在上面进行了更新/添加)。因此:您可以添加Flathub吗?现在可以找到Freedesktop吗?如果没有,您使用哪个版本的Ubuntu?
亚历山大·特劳德

我在18.04。我最终通过按照以下视频youtube.com/watch?time_continue=51&v=2FM-wq6gPpA进行安装,该视频在使用之前需要执行额外的步骤apt-get install linphone。我很困惑为什么会有这么多不同的方法。
老盖泽

1

非常感谢Alexander TRAUD的howTo,没有我,我什至不会尝试。

我仍然必须添加该XercesC库,并且所有内容都已在Linux Mint 19(Ubuntu 18.04)上进行了编译:

apt install libxerces-c-dev
./prepare.py -c
./prepare.py --use-system-dependencies --all -codes --debug --list-cmake-variables -DENABLE_JPEG = OFF -DENABLE_DOC = OFF
make

这应该做的工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.