wget https://mirrors.tuna.tsinghua.edu.cn/videolan-ftp/vlc/3.0.11/vlc-3.0.11.tar.xz
tar -xvJf vlc-3.0.11.tar.xz
cd vlc-3.0.11
./configure --enable-run-as-root
make
make install
出现: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.
>> apt-get install lua5.4 liblua5.4-dev
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure && make && make install wget https://www.ffmpeg.org/releases/ffmpeg-3.4.5.tar.gz
tar -xvf ffmpeg-3.4.5.tar.gz
cd ffmpeg-3.4.5
./configure --enable-shared
wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gztar -zxvf a52dec-0.7.4.tar.gz
./configure --enable-shared --disable-static
make
make[1]: Entering directory `/root/download/a52dec-0.7.4/liba52'
/bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -prefer-non-pic -c parse.c
gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -c parse.c -o parse.lo
parse.c:306:23: warning: always_inline function might not be inlinable [-Wattributes]
static inline int16_t dither_gen (a52_state_t * state)
^~~~~~~~~~
parse.c:292:19: warning: always_inline function might not be inlinable [-Wattributes]
static inline int zero_snr_offsets (int nfchans, a52_state_t * state)
^~~~~~~~~~~~~~~~
In file included from parse.c:32:0:
bitstream.h:66:23: warning: always_inline function might not be inlinable [-Wattributes]
static inline int32_t bitstream_get_2 (a52_state_t * state, uint32_t num_bits)
^~~~~~~~~~~~~~~
bitstream.h:53:24: warning: always_inline function might not be inlinable [-Wattributes]
static inline uint32_t bitstream_get (a52_state_t * state, uint32_t num_bits)
^~~~~~~~~~~~~
/bin/sh ../libtool --mode=link gcc -g -O3 -fomit-frame-pointer -prefer-non-pic -o liba52.la -rpath /usr/local/lib -no-undefined bitstream.lo imdct.lo bit_allocate.lo parse.lo downmix.lo -lm
rm -fr .libs/liba52.la .libs/liba52.* .libs/liba52.*
gcc -shared bitstream.lo imdct.lo bit_allocate.lo parse.lo downmix.lo -lm -Wl,-soname -Wl,liba52.so.0 -o .libs/liba52.so.0.0.0
/usr/bin/ld: imdct.lo: relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: bit_allocate.lo: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: parse.lo: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: downmix.lo: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
使用下面的命令把四个lo文件的-fPIC参数加上重新make,具体命令如下
cd liba52
gcc
-DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3
-fomit-frame-pointer -fPIC -c bit_allocate.c -o bit_allocate.lo
gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -fPIC -c parse.c -o parse.lo
gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -fPIC -c downmix.c -o downmix.lo
gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -g -O3 -fomit-frame-pointer -fPIC -c imdct.c -o imdct.lo
然后返回上级目录make成功。
make install
出现:configure: error: Package requirements (xcb >= 1.6) were not met:
No package 'xcb' found
No package 'xcb-shm' found
>> apt-get install libxcb-shm0-dev
No package 'xcb-xv' found
>> apt-get install libxcb-xv0-dev
No package 'xcb-randr' found
>> apt-get install libxcb-randr0-dev
>>apt-get install libalsa-ocaml-dev