centos8编译安装vlc_centos5.8 64bit 编译vlc 笔记 | 学步园

rpm -e libtool

重新安装libtool 2.2.6b后

[root@jx cddb]# make

/bin/sh ./config.status --recheck

running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion

./configure: line 2143: syntax error near unexpected token `config.h'

./configure: line 2143: `AM_CONFIG_HEADER(config.h)'

make: *** [config.status] Error 2

[root@jx cddb]# ./configure

./configure: line 2143: syntax error near unexpected token `config.h'

./configure: line 2143: `AM_CONFIG_HEADER(config.h)'

[root@jx cddb]# /bin/sh ./config.status --recheck

running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion

running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion

./configure: line 2143: syntax error near unexpected token `config.h'

./configure: line 2143: `AM_CONFIG_HEADER(config.h)'

make: *** [config.status] Error 2

根本的原因在于centos 执行目录是/usr, 而libtool 默认安装目录了/usr/local

./configure --prefix=/usr; make && make install

解决。

8, vlc2.0.3: openjpeg-1.5.0

configure.ac:29: require Automake 1.11, but have 1.9.6

下载

./configure --prefix=/usr;make && make install

注意,默认--prefix=/usr/local

9, vlc2.0.3: libvpx-v1.0.0

Configuring for target 'x86_64-linux-gcc'

enabling x86_64

enabling runtime_cpu_detect

enabling mmx

enabling sse

enabling sse2

enabling sse3

enabling ssse3

enabling sse4_1

Neither yasm nor nasm have been found

Configuration failed. This could reflect a misconfiguration of your

toolchains, improper options selected, or another problem. If you

don't see any useful error messages above, the next step is to look

at the configure error log file (config.err) to determine what

configure was trying to do when it died.

make: *** [.vpx] Error 1

编源码了, 省点劲。

下载:http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/yasm-devel-1.1.0-1.el5.rf.x86_64.rpm

安装: sudo yum -y install yasm-devel-1.1.0-1.el5.rf.x86_64.rpm

[root@jx linux]# make

rm -f -R gecko    && tar xvJf ../../contrib/tarballs/gecko-svn.tar.xz

tar: invalid option -- J

Try `tar --help' or `tar --usage' for more information.

make: *** [gecko] Error 64

tar --version

tar (GNU tar) 1.15.1

GNU tar自版本1.22起使用这一软件透明支持xz文件格式

sudo ./configure --prefix=/usr FORCE_UNSAFE_CONFIGURE=1

make && make install;

tar --version

tar (GNU tar) 1.15.1

没成功!

rpm -qal | grep tar

发现在/bin/tar

mv /bin/tar /bin/tar_bak

. /etc/profile

搞定

9, vlc2.0.3: game-music-emu

cd game-music-emu && CC="gcc" CXX="g++" LD="ld" AR="ar" RANLIB="ranlib" STRIP="strip" PATH="/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/bin:/root/wgj/vlc-2.0.3_bak/extras/tools/build/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.6.0_22/bin:usr/local/bin:/root/bin:/usr/java/jdk1.6.0_22/bin:usr/local/bin"

CPPFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -fPIC" CFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -fPIC" CXXFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -fPIC" LDFLAGS=" -L/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib"

cmake . -DCMAKE_TOOLCHAIN_FILE=/root/wgj/vlc-2.0.3_bak/contrib/linux/toolchain.cmake -DCMAKE_INSTALL_PREFIX=/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux .

/bin/sh: cmake: command not found

make: *** [.gme] Error 127

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

由于系统原来没有cmake,因此将cmake安装在默认目录下:

./configure && make && make install

10, vlc2.0.3: gnutls

cd gnutls && CC="gcc" CXX="g++" LD="ld" AR="ar" RANLIB="ranlib" STRIP="strip" PATH="/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/bin:/root/wgj/vlc-2.0.3_bak/extras/tools/build/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.6.0_22/bin:usr/local/bin:/root/bin:/usr/java/jdk1.6.0_22/bin:usr/local/bin"

CPPFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include" CFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include" CXXFLAGS=" -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include" LDFLAGS=" -L/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib"

./configure --disable-gtk-doc --disable-cxx --disable-srp-authentication --disable-psk-authentication-FIXME --disable-anon-authentication --disable-camellia --disable-openpgp-authentication --disable-session-ticket --disable-openssl-compatibility --disable-guile

--prefix="/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux" --build="x86_64-redhat-linux" --host="x86_64-redhat-linux" --target="x86_64-redhat-linux" --program-prefix="" --enable-static --disable-shared --disable-dependency-tracking --with-pic

checking for libnettle... no

configure: error:

***

*** Libnettle 2.1 was not found.

make: *** [.gnutls] Error 1

解压rpm包: rpm2cpio libnettle-2.4-5.1.2.src.rpm | cpio -div

tar xvf nettle-2.4.tar.gz

./configure && make && make install

或者?:

wget http://download.opensuse.org/distribution/12.1/repo/oss/suse/x86_64/libnettle-devel-2.4-5.1.2.x86_64.rpm

到处, 在contrib/linux 下编译库, 大功告成。

回到vlc目录下

./configure

系统libc不符合vlc要求,升级libc

checking for buggy GNU/libc versions... found

configure: error: Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable

work-around for this. Check with your distribution vendor on how to update the

glibc run-time. Alternatively, build with --disable-nls.

查看libc版本:

[root@jx vlc-2.0.3_bak]# /lib/libc.so.6

GNU C Library stable release version 2.5, by Roland McGrath et al.

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE.

Compiled by GNU CC version 4.1.2 20080704 (Red Hat 4.1.2-52).

Compiled on a Linux 2.6.9 system on 2012-08-27.

Available extensions:

The C stubs add-on version 2.1.2.

crypt add-on version 2.1 by Michael Glad and others

GNU Libidn by Simon Josefsson

GNU libio by Per Bothner

NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk

Native POSIX Threads Library by Ulrich Drepper et al

BIND-8.2.3-T5B

RT using linux kernel aio

Thread-local storage support included.

For bug reporting instructions, please see:

.

#gcc -v

Target: x86_64-redhat-linux

gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)

太高版本的libc编译要求编译工具较新

configure: error:

*** These critical programs are missing or too old: as ld gcc

*** Check the INSTALL file for required versions.

所以就选v2.8吧

wget http://ftp.gnu.org/gnu/libc/glibc-2.8.tar.bz2

解压之后

mkdir glibc; cd glibc

../glibc-2.8/configure  --prefix=/usr

make -j8 && make install

成功安装到/lib64; /usr/lib64

但/lib; /usr/lib 下依然是v2.5

据说要重启, 新的libc才会起作用;

这里不重启, 重新vlc 下 ./configure; 通过了, 说明vlc 到lib64下面去找libc

10, vlc2.0.3: XCB

checking for XCB... configure: error: Package requirements (xcb >= 1.6) were not met:

No package 'xcb' found

如果不要xcb 直接./configure --disable-xcb; 这里disable-xcb, 因为编译xcb的话, 首先要更新python;

终于出现:

libvlc configuration

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

version               : 2.0.3

system                : linux

architecture          : x86_64 mmx sse sse2

optimizations         : yes

vlc aliases           : cvlc rvlc

To build vlc and its plugins, type `make', or `./compile' if you like nice colors.

11, vlc2.0.3: vlc.desktop

vlc终于configure 完成。

接着make

GEN    vlc.desktop

tmp-vlc.desktop: error: required key "Encoding" not found

tmp-vlc.desktop: warning: file contains key "Keywords", this key is currently reserved for use within KDE, and should in the future KDE releases be prefixed by "X-"

make[2]: *** [vlc.desktop] Error 1

make[2]: Leaving directory `/root/wgj/vlc-2.0.3_bak/share'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/root/wgj/vlc-2.0.3_bak'

make: *** [all] Error 2

题外话:

Thelinuxtech-testingrepo

has 2.0.0-2.el6 andATrpmshas

2.0.1-2.el6

有大量编译好的rpm包

cd share;

vi Makefile.am

Makefile.in

注释掉下面这句:

#appdata_DATA = vlc.desktop

12, vlc2.0.3: libz.a

/usr/bin/ld: /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libz.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make[7]: *** [libzip_plugin.la] Error 1

-fpicGenerate position-independent code (PIC) suitable for use in ashared library, if supported for the target machine.  Such codeaccesses all constant addresses through a global offset table(GOT).  The dynamic loader resolves the GOT entries when the pro-gram starts (the dynamic loader is not part of GCC; it is part ofthe operating system).  If the GOT size for the linked executableexceeds a machine-specific maximum size, you get an error messagefrom the linker indicating that -fpic does not work; in that case,recompile with -fPIC instead.  (These maximums are 8k on the SPARCand 32k on the m68k and RS/6000.  The 386 has no such limit.)Position-independent code requires special support, and thereforeworks only on certain machines.  For the 386, GCC supports PIC forSystem V but not for the Sun 386i.  Code generated for the IBMRS/6000 is always position-independent.-fPICIf supported for the target machine, emit position-independentcode, suitable for dynamic linking and avoiding any limit on thesize of the global offset table.  This option makes a difference onthe m68k and the SPARC.Position-independent code requires special support, and thereforeworks only on certain machines.

将contrib/src/zlib/rule.mak下面这句的--static去掉

cd $< && $(HOSTVARS) ./configure --prefix=$(PREFIX) --static

即变成:

cd $< && $(HOSTVARS) ./configure --prefix=$(PREFIX)

13, vlc2.0.3: v4l2

In file included from v4l2/video.c:40:

v4l2/v4l2.h:33:3: warning: #warning Please update Video4Linux2 headers!

v4l2/video.c:140: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_DISABLED’ undeclared here (not in a function)

v4l2/video.c:141: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_50HZ’ undeclared here (not in a function)

v4l2/video.c:142: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_60HZ’ undeclared here (not in a function)

v4l2/video.c:166: error: ‘V4L2_COLORFX_NONE’ undeclared here (not in a function)

v4l2/video.c:166: error: initializer element is not constant

v4l2/video.c:166: error: (near initialization for ‘colorfx_vlc[1]’)

v4l2/video.c:167: error: ‘V4L2_COLORFX_BW’ undeclared here (not in a function)

v4l2/video.c:167: error: initializer element is not constant

v4l2/video.c:167: error: (near initialization for ‘colorfx_vlc[2]’)

v4l2/video.c:167: error: ‘V4L2_COLORFX_SEPIA’ undeclared here (not in a function)

v4l2/video.c:167: error: initializer element is not constant

v4l2/video.c:167: error: (near initialization for ‘colorfx_vlc[3]’)

v4l2/video.c: In function ‘InitVideo’:

v4l2/video.c:930: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 5 has type ‘v4l2_std_id’

v4l2/video.c:933: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 5 has type ‘v4l2_std_id’

v4l2/video.c:1300: error: ‘V4L2_FIELD_INTERLACED_TB’ undeclared (first use in this function)

v4l2/video.c:1300: error: (Each undeclared identifier is reported only once

v4l2/video.c:1300: error: for each function it appears in.)

v4l2/video.c:1304: error: ‘V4L2_FIELD_INTERLACED_BT’ undeclared (first use in this function)

make[5]: *** [libv4l2_plugin_la-video.lo] Error 1

由于我们这里不需要v4l2 所以去掉v4l2:

./configure --disable-xcb --disable-v4l2

14,vlc2.0.3: dtv

dtv/linux.c:52:3: error: #error Linux DVB kernel headers version 2.6.28 or later required.

dtv/linux.c: In function ‘dvb_parse_modulation’:

dtv/linux.c:108: error: ‘APSK_16’ undeclared (first use in this function)

dtv/linux.c:108: error: (Each undeclared identifier is reported only once

dtv/linux.c:108: error: for each function it appears in.)

dtv/linux.c:108: warning: missing initializer

dtv/linux.c:108: warning: (near initialization for ‘mods[1].linux_’)

dtv/linux.c:112: error: ‘APSK_32’ undeclared (first use in this function)

dtv/linux.c:112: warning: missing initializer

dtv/linux.c:112: warning: (near initialization for ‘mods[5].linux_’)

dtv/linux.c:115: error: ‘PSK_8’ undeclared (first use in this function)

dtv/linux.c:115: warning: missing initializer

dtv/linux.c:115: warning: (near initialization for ‘mods[8].linux_’)

dtv/linux.c:117: error: ‘DQPSK’ undeclared (first use in this function)

dtv/linux.c:117: warning: missing initializer

dtv/linux.c:117: warning: (near initialization for ‘mods[10].linux_’)

dtv/linux.c: In function ‘dvb_parse_fec’:

dtv/linux.c:134: error: ‘FEC_3_5’ undeclared (first use in this function)

dtv/linux.c:134: error: initializer element is not constant

dtv/linux.c:134: error: (near initialization for ‘rates[4].linux_’)

dtv/linux.c:134: warning: missing initializer

dtv/linux.c:134: warning: (near initialization for ‘rates[4].linux_’)

dtv/linux.c:140: error: ‘FEC_9_10’ undeclared (first use in this function)

dtv/linux.c:140: error: initializer element is not constant

dtv/linux.c:140: error: (near initialization for ‘rates[10].linux_’)

dtv/linux.c:140: warning: missing initializer

dtv/linux.c:140: warning: (near initialization for ‘rates[10].linux_’)

dtv/linux.c: In function ‘dvb_open’:

dtv/linux.c:241: error: ‘DMX_OUT_TSDEMUX_TAP’ undeclared (first use in this function)

dtv/linux.c:241: error: incompatible types in assignment

dtv/linux.c:241: warning: statement with no effect

dtv/linux.c: In function ‘dvb_enum_systems’:

dtv/linux.c:497: error: ‘FE_CAN_2G_MODULATION’ undeclared (first use in this function)

dtv/linux.c:497: error: invalid operands to binary &

dtv/linux.c: In function ‘dvb_vset_props’:

dtv/linux.c:539: error: array type has incomplete element type

dtv/linux.c:539: warning: initialization from incompatible pointer type

dtv/linux.c:540: error: variable ‘props’ has initializer but incomplete type

dtv/linux.c:540: error: unknown field ‘num’ specified in initializer

dtv/linux.c:540: warning: excess elements in struct initializer

dtv/linux.c:540: warning: (near initialization for ‘props’)

dtv/linux.c:540: error: unknown field ‘props’ specified in initializer

dtv/linux.c:540: warning: excess elements in struct initializer

dtv/linux.c:540: warning: (near initialization for ‘props’)

dtv/linux.c:540: error: storage size of ‘props’ isn’t known

dtv/linux.c:542: warning: passing argument 1 of ‘memset’ discards qualifiers from pointer target type

dtv/linux.c:542: warning: passing argument 3 of ‘memset’ makes integer from pointer without a cast

dtv/linux.c:546: error: dereferencing pointer to incomplete type

dtv/linux.c:546: error: request for member ‘cmd’ in something not a structure or union

dtv/linux.c:546: warning: statement with no effect

dtv/linux.c:547: error: dereferencing pointer to incomplete type

dtv/linux.c:547: error: request for member ‘u’ in something not a structure or union

dtv/linux.c:547: error: request for member ‘data’ in something not a structure or union

dtv/linux.c:547: warning: statement with no effect

dtv/linux.c:548: error: dereferencing pointer to incomplete type

dtv/linux.c:548: error: request for member ‘cmd’ in something not a structure or union

dtv/linux.c:548: error: dereferencing pointer to incomplete type

dtv/linux.c:548: error: request for member ‘u’ in something not a structure or union

dtv/linux.c:548: error: request for member ‘data’ in something not a structure or union

dtv/linux.c:548: warning: format ‘%2u’ expects type ‘unsigned int’, but argument 5 has type ‘const struct dvb_int_map_t *’

dtv/linux.c:548: warning: format ‘%u’ expects type ‘unsigned int’, but argument 6 has type ‘const struct dvb_int_map_t *’

dtv/linux.c:550: error: increment of pointer to unknown structure

dtv/linux.c:550: error: arithmetic on pointer to an incomplete type

dtv/linux.c:554: error: ‘FE_SET_PROPERTY’ undeclared (first use in this function)

dtv/linux.c:554: warning: passing argument 2 of ‘ioctl’ makes integer from pointer without a cast

dtv/linux.c:540: warning: unused variable ‘props’

dtv/linux.c:539: warning: unused variable ‘buf’

dtv/linux.c: In function ‘dvb_set_inversion’:

dtv/linux.c:586: error: ‘DTV_INVERSION’ undeclared (first use in this function)

dtv/linux.c:586: warning: passing argument 2 of ‘dvb_set_prop’ makes integer from pointer without a cast

dtv/linux.c: In function ‘dvb_tune’:

dtv/linux.c:591: error: ‘DTV_TUNE’ undeclared (first use in this function)

dtv/linux.c:591: warning: passing argument 2 of ‘dvb_set_prop’ makes integer from pointer without a cast

dtv/linux.c: In function ‘dvb_set_dvbc’:

dtv/linux.c:604: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:608: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:608: error: ‘SYS_DVBC_ANNEX_AC’ undeclared (first use in this function)

dtv/linux.c:610: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:610: error: ‘DTV_MODULATION’ undeclared (first use in this function)

dtv/linux.c:611: error: ‘DTV_SYMBOL_RATE’ undeclared (first use in this function)

dtv/linux.c:611: error: ‘DTV_INNER_FEC’ undeclared (first use in this function)

dtv/linux.c: In function ‘dvb_set_sec’:

dtv/linux.c:687: error: ‘DTV_TONE’ undeclared (first use in this function)

dtv/linux.c:687: error: ‘DTV_VOLTAGE’ undeclared (first use in this function)

dtv/linux.c:726: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c: In function ‘dvb_set_dvbs’:

dtv/linux.c:737: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:737: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:737: error: ‘SYS_DVBS’ undeclared (first use in this function)

dtv/linux.c:738: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:738: error: ‘DTV_SYMBOL_RATE’ undeclared (first use in this function)

dtv/linux.c:739: error: ‘DTV_INNER_FEC’ undeclared (first use in this function)

dtv/linux.c: In function ‘dvb_set_dvbs2’:

dtv/linux.c:751: error: ‘PILOT_OFF’ undeclared (first use in this function)

dtv/linux.c:751: warning: assignment makes integer from pointer without a cast

dtv/linux.c:752: error: ‘PILOT_ON’ undeclared (first use in this function)

dtv/linux.c:752: warning: assignment makes integer from pointer without a cast

dtv/linux.c:753: error: ‘PILOT_AUTO’ undeclared (first use in this function)

dtv/linux.c:753: warning: assignment makes integer from pointer without a cast

dtv/linux.c:758: error: ‘ROLLOFF_20’ undeclared (first use in this function)

dtv/linux.c:758: warning: assignment makes integer from pointer without a cast

dtv/linux.c:759: error: ‘ROLLOFF_25’ undeclared (first use in this function)

dtv/linux.c:759: warning: assignment makes integer from pointer without a cast

dtv/linux.c:760: error: ‘ROLLOFF_35’ undeclared (first use in this function)

dtv/linux.c:760: warning: assignment makes integer from pointer without a cast

dtv/linux.c:761: warning: assignment makes integer from pointer without a cast

dtv/linux.c:766: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:766: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:766: error: ‘SYS_DVBS2’ undeclared (first use in this function)

dtv/linux.c:767: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:767: error: ‘DTV_MODULATION’ undeclared (first use in this function)

dtv/linux.c:768: error: ‘DTV_SYMBOL_RATE’ undeclared (first use in this function)

dtv/linux.c:768: error: ‘DTV_INNER_FEC’ undeclared (first use in this function)

dtv/linux.c:769: error: ‘DTV_PILOT’ undeclared (first use in this function)

dtv/linux.c:769: error: ‘DTV_ROLLOFF’ undeclared (first use in this function)

dtv/linux.c: In function ‘dvb_set_dvbt’:

dtv/linux.c:850: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:850: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:850: error: ‘SYS_DVBT’ undeclared (first use in this function)

dtv/linux.c:851: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:851: error: ‘DTV_MODULATION’ undeclared (first use in this function)

dtv/linux.c:852: error: ‘DTV_CODE_RATE_HP’ undeclared (first use in this function)

dtv/linux.c:852: error: ‘DTV_CODE_RATE_LP’ undeclared (first use in this function)

dtv/linux.c:853: error: ‘DTV_BANDWIDTH_HZ’ undeclared (first use in this function)

dtv/linux.c:854: error: ‘DTV_TRANSMISSION_MODE’ undeclared (first use in this function)

dtv/linux.c:855: error: ‘DTV_GUARD_INTERVAL’ undeclared (first use in this function)

dtv/linux.c:856: error: ‘DTV_HIERARCHY’ undeclared (first use in this function)

dtv/linux.c:878:3: warning: #warning DVB-T2 needs Linux DVB version 5.3 or later.

dtv/linux.c: In function ‘dvb_set_isdbc’:

dtv/linux.c:896: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:900:3: warning: #warning ISDB-C might need Linux DVB version 5.5 or later.

dtv/linux.c:901: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:901: error: ‘SYS_DVBC_ANNEX_AC’ undeclared (first use in this function)

dtv/linux.c:903: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:903: error: ‘DTV_MODULATION’ undeclared (first use in this function)

dtv/linux.c:904: error: ‘DTV_SYMBOL_RATE’ undeclared (first use in this function)

dtv/linux.c:904: error: ‘DTV_INNER_FEC’ undeclared (first use in this function)

dtv/linux.c:920:3: warning: #warning ISDB-S needs Linux DVB version 5.1 or later.

dtv/linux.c:968:3: warning: #warning ISDB-T needs Linux DVB version 5.1 or later.

dtv/linux.c: In function ‘dvb_set_atsc’:

dtv/linux.c:984: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:984: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:984: error: ‘SYS_ATSC’ undeclared (first use in this function)

dtv/linux.c:985: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:985: error: ‘DTV_MODULATION’ undeclared (first use in this function)

dtv/linux.c: In function ‘dvb_set_cqam’:

dtv/linux.c:994: error: ‘DTV_CLEAR’ undeclared (first use in this function)

dtv/linux.c:995: error: ‘DTV_DELIVERY_SYSTEM’ undeclared (first use in this function)

dtv/linux.c:995: error: ‘SYS_DVBC_ANNEX_B’ undeclared (first use in this function)

dtv/linux.c:996: error: ‘DTV_FREQUENCY’ undeclared (first use in this function)

dtv/linux.c:996: error: ‘DTV_MODULATION’ undeclared (first use in this function)

make[5]: *** [libdtv_plugin_la-linux.lo] Error 1

同上面, 去掉dtv:

./configure --disable-xcb --disable-v4l2

找遍configure --help, 没发现有类似--disable-dtv 或 --disable-dvb的选项

打开configure发现有下面这样的test:

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_linux_s2api" >&5

$as_echo "$ac_cv_linux_s2api" >&6; }

if test "$ac_cv_linux_s2api" = "yes"; then

HAVE_LINUX_DVB_TRUE=

HAVE_LINUX_DVB_FALSE='#'

else

HAVE_LINUX_DVB_TRUE='#'

HAVE_LINUX_DVB_FALSE=

fi

原意自动检测是否开启dvb,显然检测失败了。

在上面的代码下面加下面两行:

HAVE_LINUX_DVB_TRUE='#'

HAVE_LINUX_DVB_FALSE=

继续。

15,vlc2.0.3:  liblibass_plugin.la

CCLD     liblibass_plugin.la

/usr/bin/ld: /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libfontconfig.a(fccfg.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libfontconfig.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make[5]: *** [liblibass_plugin.la] Error 1

//cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure $(HOSTCONF) --disable-enca --with-pic

暂时disable-libass

./configure --disable-xcb --disable-libass

16,vlc2.0.3:  libv4l2

CC       libv4l2_plugin_la-video.lo

In file included from v4l2/video.c:40:

v4l2/v4l2.h:33:3: warning: #warning Please update Video4Linux2 headers!

v4l2/video.c:140: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_DISABLED’ undeclared here (not in a function)

v4l2/video.c:141: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_50HZ’ undeclared here (not in a function)

v4l2/video.c:142: error: ‘V4L2_CID_POWER_LINE_FREQUENCY_60HZ’ undeclared here (not in a function)

v4l2/video.c:166: error: ‘V4L2_COLORFX_NONE’ undeclared here (not in a function)

v4l2/video.c:166: error: initializer element is not constant

v4l2/video.c:166: error: (near initialization for ‘colorfx_vlc[1]’)

v4l2/video.c:167: error: ‘V4L2_COLORFX_BW’ undeclared here (not in a function)

v4l2/video.c:167: error: initializer element is not constant

v4l2/video.c:167: error: (near initialization for ‘colorfx_vlc[2]’)

v4l2/video.c:167: error: ‘V4L2_COLORFX_SEPIA’ undeclared here (not in a function)

v4l2/video.c:167: error: initializer element is not constant

v4l2/video.c:167: error: (near initialization for ‘colorfx_vlc[3]’)

v4l2/video.c: In function ‘InitVideo’:

v4l2/video.c:930: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 5 has type ‘v4l2_std_id’

v4l2/video.c:933: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 5 has type ‘v4l2_std_id’

v4l2/video.c:1300: error: ‘V4L2_FIELD_INTERLACED_TB’ undeclared (first use in this function)

v4l2/video.c:1300: error: (Each undeclared identifier is reported only once

v4l2/video.c:1300: error: for each function it appears in.)

v4l2/video.c:1304: error: ‘V4L2_FIELD_INTERLACED_BT’ undeclared (first use in this function)

make[5]: *** [libv4l2_plugin_la-video.lo] Error 1

./configure --disable-xcb --disable-libass --disable-v4l2

17,vlc2.0.3:  libdbus

make[6]: Entering directory `/root/wgj/vlc-2.0.3_bak/modules/control/dbus'

CC       libdbus_plugin_la-dbus.lo

CC       libdbus_plugin_la-dbus_root.lo

CC       libdbus_plugin_la-dbus_player.lo

CC       libdbus_plugin_la-dbus_tracklist.lo

dbus_tracklist.c:63:2: warning: #warning psz_aftertrack is not used

dbus_tracklist.c: In function ‘Tracks’:

dbus_tracklist.c:248: error: implicit declaration of function ‘dbus_message_iter_abandon_container’

make[6]: *** [libdbus_plugin_la-dbus_tracklist.lo] Error 1

make[6]: *** Waiting for unfinished jobs....

dbus.c: In function ‘Run’:

dbus.c:878: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result

make[6]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/control/dbus'

make[5]: *** [all] Error 2

make[5]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/control/dbus'

make[4]: *** [all-recursive] Error 1

make[4]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/control'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/control'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/root/wgj/vlc-2.0.3_bak'

make: *** [all] Error 2

./configure --disable-xcb --disable-libass --disable-v4l2 --disable-dbus

18,vlc2.0.3:  libfreetype

CCLD     libtdummy_plugin.la

In file included from /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi.h:35,

from freetype.c:88:

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-common.h:35:5: warning: "DONT_HAVE_FRIBIDI_CONFIG_H" is not defined

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-common.h:45:5: warning: "HAVE_FRIBIDI_CUSTOM_H" is not defined

In file included from /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-unicode.h:38,

from /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi.h:37,

from freetype.c:88:

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-types.h:85:6: warning: "SIZEOF_WCHAR_T" is not defined

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-types.h:102:5: warning: "FRIBIDI_INT_TYPES" is not defined

In file included from /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi.h:37,

from freetype.c:88:

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi-unicode.h:46:5: warning: "DONT_HAVE_FRIBIDI_UNICODE_VERSION_H" is not defined

In file included from freetype.c:88:

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include/fribidi/fribidi.h:54:5: warning: "FRIBIDI_NO_DEPRECATED" is not defined

CCLD     libfreetype_plugin.la

/usr/bin/ld: /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libfontconfig.a(fccfg.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/lib/libfontconfig.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make[4]: *** [libfreetype_plugin.la] Error 1

make[4]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/text_renderer'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules/text_renderer'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/root/wgj/vlc-2.0.3_bak/modules'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/root/wgj/vlc-2.0.3_bak'

make: *** [all] Error 2

./configure --disable-xcb --disable-libass --disable-v4l2 --disable-dbus --disable-freetype

看到输出:

GEN      cvlc

GEN      rvlc

GEN      vlc

到此终于编译完成。

root 运行, 貌似不行

./configure --disable-xcb --disable-libass --disable-v4l2 --disable-dbus --disable-freetype --enable-run-as-root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值