简体   繁体   English

OSX上的Linphone编译问题

[英]Linphone compiling problems on osx

I'm trying to compile linphone on mountain lion. 我正在尝试在山狮上编译linphone。 I have downloaded the sources and followed all the instructions in the README.macos file. 我已经下载了源代码,并按照README.macos文件中的所有说明进行操作。 The first time, when I got to '$ port install ige-mac-integration' an error occurred. 第一次,当我进入“ $ port install ige-mac-integration”时,发生了错误。 It said gtk2 had to be installed with x11, however, the instructions said to install it with quartz and no_x11. 它说gtk2必须与x11一起安装,但是说明说要与石英和no_x11一起安装。 I tried installing gtk2 again, this time with x11, but when I get to the compiling process it tells me quartz is needed. 我这次尝试用x11再次安装gtk2,但是当我进入编译过程时,它告诉我需要石英。 I can't install both, because the gtk2 installation will complain about it, and it seems I need both to complete the entire process of installing and compiling linphone. 我不能同时安装这两个程序,因为gtk2安装会抱怨它,而且看来我需要两者都完成安装和编译linphone的整个过程。

I have tried these steps with the downloadable sources, as well as the git sources, both gave me the same problems. 我已经尝试过使用可下载源以及git源进行这些步骤,都给了我同样的问题。 Linphone does not have a forum, so I couldn't ask it on their site. Linphone没有论坛,所以我无法在他们的网站上提问。

I just need to get the sources and start using them, so any recommendations on how to open the linphone source, edit it, and compile/run it would be very welcome. 我只需要获取源代码并开始使用它们,因此,关于如何打开linphone源代码,对其进行编辑以及对其进行编译/运行的任何建议都将受到欢迎。 The ideal situation would be where I can just open an xcode project file. 理想的情况是我可以打开一个xcode项目文件。

This is the readme file: 这是自述文件:

**********************************
* Compiling linphone on macos X  *
**********************************

You need:
 - Xcode (download from apple or using appstore application)
 - Macports: http://www.macports.org/
   Download and install macports using its user friendly installer.

- Install build time dependencies
 $ port install automake autoconf libtool intltool

- Install some linphone dependencies with macports
 $ port install speex
 $ port install libosip2 # WARNING: currently outdated in macport
 $ port install libeXosip2 #WARNING: currently outdated in macport
 $ port install ffmpeg-devel
 $ port install libvpx

- Install srtp (optional) for call encryption
 $ port install srtp
 If that fails, get from source:
 $ git clone git://git.linphone.org/srtp.git
 $ cd srtp && autoconf && ./configure --prefix=/opt/local && make libsrtp.a
 $ sudo make install

- Install zrtpcpp (optional), for unbreakable call encryption
 $ port install cmake
 $ git clone git://git.linphone.org/zrtpcpp.git
 $ cd zrtpcpp && cmake -Denable_ccrtp=false . && make
 $ sudo make install

- Install gtk. It is recommended to use the quartz backend for better integration.
 $ port install gtk2 +quartz +no_x11
 $ port install hicolor-icon-theme

- Compile and install the tunnelsu

If you got the source code from git, run ./autogen.sh first

Then or otherwise, do:

 $ ./configure --prefix=/opt/local && make && sudo make install


- Compile linphone

If you got the source code from git, run ./autogen.sh first.

Then or otherwise, do:

 $ ./configure --prefix=/opt/local --with-readline=/opt/local --disable-strict --disable-x11 --with-srtp=/opt/local --with-gsm=/opt/local --enable-zrtp && make

Install to /opt/local

 $ sudo make install 

Done.

If you want to generate a portable bundle, then install gtk-mac-bundler.
Use git:
 $ git clone https://github.com/jralls/gtk-mac-bundler.git 
 $ cd gtk-mac-bundler && make install
 $ export PATH=$PATH:~/.local/bin
 #make this dummy charset.alias file for the bundler to be happy:
 $ sudo touch touch /opt/local/lib/charset.alias

Then run, inside linphone source tree:
 1. Run configure as told before but with "--enable-relativeprefix" appended.

 $ make
 $ make bundle

The resulting bundle is located in linphone build directory, together with a zipped version.

For a better appearance, you can install the gtk-quartz-engine (a gtk theme) that make gtk application more similar to other mac applications (but not perfect).

 $ git clone https://github.com/jralls/gtk-quartz-engine.git
 $ cd gtk-quartz-engine
 $ autoreconf -i 
 $ ./configure --prefix=/opt/local && make 
 $ sudo make install

Generate a new bundle to have it included.

Below is the details to configure the dependencies and build linphone. 以下是配置依赖关系和构建linphone的详细信息。

============================================================== ================================================== ============

Step: 1:- Dependency configuration: 步骤:1:-依赖关系配置:

I just followed the instruction which is available in "README.macos" upto sqlite3 configuration. 我只是按照sqlite3配置中“ README.macos”中可用的说明进行操作。 I had some problem with dependancies configuration. 我对依赖项配置有一些问题。

  1. Because of macport version, srtp configuration is failed. 由于macport版本,srtp配置失败。 So I have downloaded "MacPorts-2.1.3-10.8-MountainLion.pkg" and installed manually. 因此,我下载了“ MacPorts-2.1.3-10.8-MountainLion.pkg”并手动安装。

  2. Because of GTK version, libsoup is failed. 由于GTK版本,libsoup失败。 So I have downloaded "GTK_2.18.5-X11.pkg" and installed manually. 因此,我下载了“ GTK_2.18.5-X11.pkg”并手动安装。

After the manual installation, I have followed "README.macos" again for reconfiguration. 手动安装后,我再次遵循“ README.macos”进行重新配置。

NOTE: Sometime terminal won't recognize "wget". 
  --> Solution: just execute below command.
    echo 'alias wget="curl -O"' >> ~/.bash_profile

Step: 2:- Compile and Install: 步骤2:-编译并安装:

I got some problem related to intltool while compiling. 编译时遇到一些与intltool有关的问题。
Solution: just I set the path by executing below commands 解决方案:我只是通过执行以下命令来设置路径

 export PATH=$PATH:/opt/local/bin
    export MANPATH=$MANPATH:/opt/local/share/man
    export INFOPATH=$INFOPATH:/opt/local/share/info

Now it is successfully compiled and installed. 现在,它已成功编译并安装。

Step: 3:- Creating bundle to run the app: 步骤:3:-创建捆绑包以运行应用程序:

Just I followed below commands to make the build. 我只是按照以下命令进行构建。


If you want to generate a portable bundle, then install gtk-mac-bundler.
Use git:
 $ git clone https://github.com/jralls/gtk-mac-bundler.git 
 $ cd gtk-mac-bundler && make install
 $ export PATH=$PATH:~/.local/bin
 #make this dummy charset.alias file for the bundler to be happy:
 $ sudo touch touch /opt/local/lib/charset.alias

Then run, inside linphone source tree:
 1. Run configure as told before but with "--enable-relativeprefix" appended.

 $ make
 $ make bundle

It will create " linphone.app " file in current linphone directory. 它将在当前linphone目录中创建“ linphone.app ”文件。 It will support only for " Mountain Lion ". 它将仅支持“ Mountain Lion ”。

Step: 4:- Support for lower version: (eg: Lion, Snow Leopard ...) 步骤:4:-支持较低版本:(例如: Lion, Snow Leopard ...)

We have to configure " libiconv hack " to supporting for lower version 我们必须配置“ libiconv hack ”以支持较低版本

I think it will help you. 我认为它将为您提供帮助。

I wrote an answer here . 在这里写了一个答案 It's a bit long but I sincerely hope it is clear enough and will help you. 它有点长,但我衷心希望它足够清楚,能为您提供帮助。 It contains the build settings and other libs you need to include. 它包含构建设置和您需要包括的其他库。 Cool stuff I didn't need to run the make :) 很酷的东西,我不需要运行make :)

Best, 最好,

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM