Installing the “ring.cx SIP client” on a Raspberry PI

℡╲_俬逩灬. 提交于 2019-11-30 23:53:09

Contrib

The "contrib" part of the Ring build is about building dependencies that are not available on the target system, mostly used to build full working packages when cross-compiling or for systems without proper dependency management (basically all OSs except Linux distros).

When in the contrib/native directory, you can run make list to see the list of packages to be built. Since you are cross-compiling you will need to build almost everything.

If you somehow mess up the contrib build you can safely delete the contrib/native and contrib/{target_tuple} (if any) directories and start again.

libvpx

The libvpx library is used by libav to provide the vp8 and vp9 video codecs. It's not an hard dependency and since your project doesn't use video you can safely disable it. We also encountered issues when cross compiling vpx.

In contrib/src/libav/rules.mak line 70, DEPS_libav defines the list of dependencies for libav. You can remove vpx, x264 and $(DEPS_vpx) from the list since you don't use video. You may also add speex and opus audio codecs to the list (they should be in the list but aren't, see this patch as an example).

After cleaning contrib as described above and boostraping again, when running make list, vpx and x264 shouldn't show up in the list of "To-be-built packages". Then try to build contrib by running make.

If after trying this you encounter the same issue for other packages you may have some sort of cross compilation build path issue (I would then need more logs/details).

As a very last resort, compiling on the Pi itself (with Raspbian) is horribly slow but has the advantage to use local distro-provided dependencies and remove the hassles of cross compilation.

Good luck

Besi

I am providing an own answer which should document my steps which will hopefully lead me to the desired end result:

Download the sources

git clone https://gerrit-ring.savoirfairelinux.com/ring
cd ring

Build the contrib section

According to @aberaud's remarks I can update contrib/src/libav/rules.mak and remove any video-related dependencies (remember that I am headless):

So I changed line 70 form

DEPS_libav = zlib x264 vpx $(DEPS_vpx)

to

DEPS_libav = zlib opus speex

Now build the contrib section.

cd ../contrib/
rm -fr native/ && mkdir native
cd native
../bootstrap
make

I was hitting the same error trying to compile the contrib.

The version of Raspbian I was using came with the older version of the gcc compiler, version 4.6. After I upgraded to 4.8 it compiled instantly. Well, as instantly as anything compiles on the Pi at any rate.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!