工作需要,最近尝试了VLC的编译。现在将踩过的坑记录一下,方便以后查看。
1、环境:Ubuntu18.04,VLC源码(git clone https://code.videolan.org/videolan/vlc-android.git )branch:master,commit:3e1f7bc6f466813e9760f671a0afe8510ea68dfe
2、采坑过程:
1)按照wiki步骤一步步搭建编译环境。https://wiki.videolan.org/AndroidCompile/其中automake的版本不必退回旧版本,使用1.15.1即可,也不用按照wiki上的内容修改源码配置,当然也找不到那个配置文件。
2)由于是armeabi-v7a的结构,所以我使用./compile -a armeabi-v7a编译命令。编译过程中首先会遇到下载aom包超时的情况(众所周知的原因)。
解决方法:①翻墙手动从aomidiea.googlesource.com下载aom包。aom-a65377bf5c555fccd161f27c33168cc36390662e.tar.gz
②重命名为aom-v1.0.0-a65377bf5c555fccd161f27c33168cc36390662e.tar.gz
③将该包放置在vlc-android/vlc/contrib/tarballs目录下
3)遇到的第二个问题,automake。日志:help2man: can't get --help' info from automake-1.15 Try--no-discard-stderr' if option outputs to stderr
Makefile:3707: recipe for target 'doc/automake-1.15' failed
make[1]: *** [doc/automake-1.15] Error 255
make[1]: Leaving directory '/media/osboxes/shared_vdi/vlc-android/vlc/extras/tools/automake'
tools.mak:158: recipe for target '.automake' failed
make: *** [.automake] Error 2
原因:Ubuntu18.04使用PERL26,1.15.1是强制的(https://code.videolan.org/videolan/vlc-android/issues/667)
解决方法:①下载automake1.15.1版本(http://ftp.gnu.org/gnu/automake/)以下是大神指点。
② In VLCROOT$/vlc/extras/tools/bootstrab , find `check() automake 1.15` and change to `check() automake 1.15.1`
③ In VLCROOT$/vlc/extras/tools/packages.mak , find `AUTOMAKE_VERSION=1.15` and change to `AUTOMAKE_VERSION=1.15.1`
-④Open VLCROOT$/vlc/extras/tools/SHA512SUMS, add floowing line:
` f0d4717ebe2c76cec5d487de090f6e1c0f784b0d382fd964ffa846287e2a364a52531a26ab98b7033ac04ed302a247b3b114299def54819a03439bfc962ff61b automake-1.15.1.tar.gz`