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