Linphone编译问题的Linphone

时间:2013-04-02 11:55:45

标签: macos linphone

我正在尝试在山狮上编译linphone。我已经下载了源代码并按照README.macos文件中的所有说明进行操作。第一次,当我进入'$ port install ige-mac-integration'时发生错误。它说gtk2必须与x11一起安装,但是,说明说要用石英和no_x11安装它。我尝试再次安装gtk2,这次使用x11,但是当我进入编译过程时,它告诉我需要石英。我无法安装这两个,因为gtk2安装会抱怨它,似乎我需要两个来完成安装和编译linphone的整个过程。

我已尝试使用可下载源以及git源这些步骤,两者都给了我同样的问题。 Linphone没有论坛,所以我不能在他们的网站上询问。

我只需要获取源代码并开始使用它们,因此任何有关如何打开linphone源,编辑它们以及编译/运行它的建议都将非常受欢迎。理想的情况是我可以打开一个xcode项目文件。

这是自述文件:

**********************************
* 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.

2 个答案:

答案 0 :(得分:3)

以下是配置依赖项和构建linphone的详细信息。

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

步骤:1: - 依赖关系配置:

我只是按照“README.macos”中提供的指令进行sqlite3配置。我在依赖性配置方面遇到了一些问题。

  1. 由于macport版本,srtp配置失败。所以我下载了“MacPorts-2.1.3-10.8-MountainLion.pkg”并手动安装。

  2. 由于GTK版本,libsoup失败了。所以我下载了“GTK_2.18.5-X11.pkg”并手动安装。

  3. 手动安装后,我再次按“README.macos”进行重新配置。

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

    步骤:2: - 编译并安装:

    我在编译时遇到了与intltool相关的问题。
    解决方案:我只需通过执行以下命令来设置路径

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

    现在已成功编译并安装。

    步骤:3: - 创建捆绑包以运行应用程序:

    我只是按照下面的命令进行构建。


    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

    它将在当前的linphone目录中创建“linphone.app”文件。它仅支持“Mountain Lion”。

    步骤:4: - 支持较低版本:(例如:Lion, Snow Leopard ...)

    我们必须配置“libiconv hack”以支持较低版本

    我认为它会对你有所帮助。

答案 1 :(得分:1)

我写了answer here。这有点长,但我真诚地希望它足够清楚,并会帮助你。 它包含您需要包含的构建设置和其他库。 很酷的东西我不需要运行make:)

最佳,