Ubuntu18.04编译vlc-3.0.10

最近要整一些视频操作,选择了vlc-qt。奈何使用vlc-qt需要先编译vlc。

1、首先下载vlc

访问官网https://www.videolan.org/vlc/ 选择要下载的版本 ,当然也可以直接下载http://get.videolan.org/vlc/3.0.10/vlc-3.0.10.tar.xz

将源码下载到本地后,开始尝试着编译,为什么说是尝试,因为会遇到各种各样的报错。


2、尝试配置

cd到源码的主目录,执行命令

./bootstrap

./configure

出现报错:configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.

解决方案:根据./configure命令提示,下载对应的lua,我这里以下执行命令:

sudo apt install lua5.2

sudo apt install lua5.2-dev

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

再次执行./configure

出现报错:configure: error: Missing libav or FFmpeg. Pass --disable-avcodec to ignore this error.

解决方案:这里有两种解决方案。

方案(1)  执行命令: ./configure --prefix=/usr/local/vlc  --disable-avcodec  .让其直接忽略这个错误即可。

方案(2)执行命令:sudo apt install  libavcodec-dev   。

我是采用第二种方案。

 

再次执行./configure

出现报错:configure: error: No package 'libswscale' found. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.

解决方案:这里有两种解决方案。

方案(1)  执行命令: ./configure --prefix=/usr/local/vlc  --disable-avcodec --disable-swscale  .让其直接忽略这个错误即可。

方案(2)执行命令:sudo apt install  libswscale-dev  。

我是采用第二种方案。

 

再次执行./configure

出现报错:configure: error: No package 'liba52' found. Pass --disable-a52 ........(此处省略好多字母)

解决方案:这里有两种解决方案。

方案(1)  执行命令: ./configure --prefix=/usr/local/vlc  --disable-avcodec --disable-swscale --disable-a52 .让其直接忽略这个错误即可。

方案(2)执行命令:sudo apt install  liba52-dev 

我是采用第二种方案。

 

再次执行./configure

出现报错:configure: error: No package 'libpostproc' found. Pass  ........(此处省略好多字母)

解决方案:

执行命令:sudo apt install  libpostproc-dev 

 

再次执行./configure

出现报错:configure: error: Package requirements (xcb-shm) were not met:No package 'xcb-shm' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables XCB_SHM_CFLAGS and XCB_SHM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

解决方案:

sudo apt install pkg-config

sudo apt install autoconf

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

执行./bootstrap

出现报错:

NOTE: autopoint (GNU gettext-tools) appears to be missing or out-of-date.
Please install or update GNU gettext tools.
Otherwise, you will not be able to build a source tarball.
==========================================================================

autoreconf: Entering directory `.'
autoreconf: running: true --force
autoreconf: running: aclocal -I m4 -I m4 --output=aclocal.m4t
Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory

解决方案:sudo apt install automake

 

再次执行./bootstrap

出现报错:

NOTE: autopoint (GNU gettext-tools) appears to be missing or out-of-date.
Please install or update GNU gettext tools.
Otherwise, you will not be able to build a source tarball.
==========================================================================

autoreconf: Entering directory `.'
autoreconf: running: true --force
autoreconf: running: aclocal -I m4 --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
Can't exec "libtoolize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN3> line 6.
autoreconf: failed to run libtoolize: No such file or directory
autoreconf: libtoolize is needed because this package uses Libtool

解决方案:sudo apt install libtool

 

重新执行./bootstrap,则可以成功通过

Ubuntu18.04编译vlc-3.0.10

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

重新执行命令:./configure --prefix=/usr/local/vlc

出现报错:

configure: error: Package requirements (xcb-shm) were not met:

No package 'xcb-shm' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables XCB_SHM_CFLAGS
and XCB_SHM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

解决方案:sudo apt install libxcb-shm0-dev

 

重新执行命令:./configure --prefix=/usr/local/vlc 

出现报错:

configure: error: Package requirements (xcb-xv >= 1.1.90.1) were not met:

No package 'xcb-xv' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables XCB_XV_CFLAGS
and XCB_XV_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

解决方案:sudo apt install libxcb-xv0-dev

 

重新执行命令:./configure --prefix=/usr/local/vlc 

出现报错:configure: error: No package 'alsa' found. alsa-lib 1.0.24 or later required. Pass --disable-alsa to ignore this error.

解决方案:sudo apt install libalsa-ocaml-dev

 

再次执行命令./configure --prefix=/usr/local/vlc,配置成功

Ubuntu18.04编译vlc-3.0.10


执行命令:

make -j4

sudo make install

vlc就编译安装完成了!!!!