轉載請注明出處:http://blog.csdn.net/guijiewan/article/details/8259115
uname -a
Linux 2.6.18-308.13.1.el5 #1 SMP Tue Aug 21 17:10:18 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/issue
CentOS release 5.8 (Final)
1, 下載下傳vlc 源碼
2,cd contrib; mkdir linux; ../bootstrap; make
3, configure.ac:13: error: Autoconf version 2.64 or higher is required 下載下傳autoconf 2.64, ./configure; make && make install;
4, vlc2.0.4: cd fribidi && rm -f configure && ./bootstrap
Usable autoreconf found, running aclocal:configure.ac:40: warning: macro `AM_SILENT_RULES' not found in library configure.ac:51: error: possibly undefined macro: AM_SILENT_RULES If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/local/bin/autoconf failed with exit status: 1 make: *** [.fribidi] Error 1 這種錯誤是由于libtool版本不對引起了, 下面編譯vlc2.0.3,解決掉libtool問題後, 這個問題也沒有了。
vlc2.0.3:
fribidi-run.c: In function '_fribidi__new_run__internal__': fribidi-run.c:70: error: 'PAGE_SIZE' undeclared (first use in this function) fribidi-run.c:70: error: (Each undeclared identifier is reported only once fribidi-run.c:70: error: for each function it appears in.)
打開lib/common.h 在PAGE_SIZE出現之前,添加: #ifndef PAGE_SIZE #define PAGE_SIZE getpagesize() #endif http://wenku.baidu.com/view/9ac1f108bb68a98271fefa45.htm
5, vlc2.0.3: libass checking for FONTCONFIG... configure: error: Package requirements (fontconfig >= 2.4.2) were not met:
Requested 'fontconfig >= 2.4.2' but version of Fontconfig is 2.4.1
手動下載下傳2.7.1 ./configure; make ; make install ; 問題依舊。(應該隻有64bit才會有這問題) 原因在于centos64位的 PKG_CONFIG_PATH預設 /usr / lib64/pkgconfig/fontconfig.pc fontconfig 的fontconfig.pc 預設安裝在/usr/local/lib/pkgconfig/fontconfig.pc和/usr/lib/pkgconfig/fontconfig.pc下 [[email protected] usr]# find -name fontconfig.pc
./local/lib/pkgconfig/fontconfig.pc
./lib64/pkgconfig/fontconfig.pc
./lib/pkgconfig/fontconfig.pc
解決 mv ./lib64/pkgconfig/fontconfig.pc ./lib64/pkgconfig/fontconfig.pc_bak 重新編譯vlc, vlc 檢測不到fontconfig.pc,自動到網上下載下傳, 編譯在vlc ./contrib/linux 目錄下
或者 export PKG_CONFIG_PATH=/usr/ lib/pkgconfig: $ PKG_CONFIG_PATH (未驗證) 關于 PKG_CONFIG: http://kangzai.blog.51cto.com/280080/84298
啟示: 類似問題可以類似解決
5, vlc2.0.3: bluray
[[email protected] linux]# make
cd bluray && ./bootstrap
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
You should update your `aclocal.m4' by running aclocal.
Putting files in AC_CONFIG_AUX_DIR, `build-aux'.
autoreconf: running: /usr/local/bin/autoconf --force
autoreconf: running: /usr/local/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
cd bluray && 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:/root/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-examples --disable-debug --disable-libxml2 --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 build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking target system type... x86_64-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking for x86_64-redhat-linux-gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... ld
checking if the linker (ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 98304
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-redhat-linux-gnu file names to x86_64-redhat-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-redhat-linux-gnu file names to toolchain format... func_convert_file_noop
checking for ld option to reload object files... -r
checking for x86_64-redhat-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-redhat-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-redhat-linux-ar... ar
checking for archiver @FILE support... @
checking for x86_64-redhat-linux-strip... strip
checking for x86_64-redhat-linux-ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for x86_64-redhat-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking return type of signal handlers... void
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for sys/types.h... (cached) yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for stdlib.h... (cached) yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking linux/cdrom.h usability... yes
checking linux/cdrom.h presence... yes
checking for linux/cdrom.h... yes
checking for inttypes.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for mntent.h... (cached) yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for struct dirent.d_type... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for snprintf... yes
checking for pthread_create in -lpthread... yes
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for pkg-config... yes
Checking if compiler supports -Wall... yes
Checking if compiler supports -Wdisabled-optimization... yes
Checking if compiler supports -Wpointer-arith... yes
Checking if compiler supports -Wredundant-decls... yes
Checking if compiler supports -Wcast-qual... yes
Checking if compiler supports -Wwrite-strings... yes
Checking if compiler supports -Wtype-limits... no
Checking if compiler supports -Wundef... yes
Checking if compiler supports -Wextra... yes
Checking if compiler supports -Winline... yes
Checking if compiler supports -O3... yes
Checking if compiler supports -fomit-frame-pointer... yes
checking for x86_64-redhat-linux-doxygen... no
checking for doxygen... /usr/bin/doxygen
checking for x86_64-redhat-linux-perl... no
checking for perl... /usr/bin/perl
checking for x86_64-redhat-linux-dot... no
checking for dot... no
configure: WARNING: dot not found - will not generate graphics for doxygen documentation
checking for x86_64-redhat-linux-latex... no
checking for latex... no
configure: WARNING: latex not found - will not generate doxygen PostScript documentation
checking for x86_64-redhat-linux-makeindex... no
checking for makeindex... no
checking for x86_64-redhat-linux-dvips... no
checking for dvips... no
checking for x86_64-redhat-linux-egrep... no
checking for egrep... /bin/egrep
checking for x86_64-redhat-linux-pdflatex... no
checking for pdflatex... no
configure: WARNING: pdflatex not found - will not generate doxygen PDF documentation
checking for x86_64-redhat-linux-makeindex... no
checking for makeindex... no
checking for x86_64-redhat-linux-egrep... /bin/egrep
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/examples/Makefile
config.status: creating src/libbluray.pc
config.status: creating src/libbluray/bluray-version.h
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Summary:
--------
BD-J support: no
Metadata support: no
Build examples: no
cd bluray && make install
make[1]: Entering directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray'
Making install in src
make[2]: Entering directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray/src'
Making install in .
make[3]: Entering directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray/src'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -std=c99 -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wcast-qual -Wwrite-strings -Wundef -Wextra -Winline -O3 -fomit-frame-pointer -I.. -Ifile -Ilibbluray/bdnav -c -o bluray.lo `test -f 'libbluray/bluray.c' || echo './'`libbluray/bluray.c
../libtool: line 851: X--tag=CC: command not found
../libtool: line 884: libtool: ignoring unknown tag : command not found
../libtool: line 851: X--mode=compile: command not found
../libtool: line 1017: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1018: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 1161: Xgcc: command not found
../libtool: line 1161: X-DHAVE_CONFIG_H: command not found
../libtool: line 1161: X-I.: command not found
../libtool: line 1161: X-I.: command not found
../libtool: line 1161: X-I..: command not found
../libtool: line 1161: X-I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include: No such file or directory
../libtool: line 1161: X-std=c99: command not found
../libtool: line 1161: X-D_ISOC99_SOURCE: command not found
../libtool: line 1161: X-D_POSIX_C_SOURCE=200809L: command not found
../libtool: line 1161: X-D_REENTRANT: command not found
../libtool: line 1161: X-Wall: command not found
../libtool: line 1161: X-Wdisabled-optimization: command not found
../libtool: line 1161: X-Wpointer-arith: command not found
../libtool: line 1161: X-Wredundant-decls: command not found
../libtool: line 1161: X-Wcast-qual: command not found
../libtool: line 1161: X-Wwrite-strings: command not found
../libtool: line 1161: X-Wundef: command not found
../libtool: line 1161: X-Wextra: command not found
../libtool: line 1161: X-Winline: command not found
../libtool: line 1161: X-O3: command not found
../libtool: line 1161: X-fomit-frame-pointer: command not found
../libtool: line 1161: X-I..: command not found
../libtool: line 1161: X-Ifile: command not found
../libtool: line 1161: X-Ilibbluray/bdnav: No such file or directory
../libtool: line 1161: X-c: command not found
../libtool: line 1213: Xbluray.lo: command not found
../libtool: line 1218: libtool: compile: cannot determine name of library object from `': command not found
make[3]: *** [bluray.lo] Error 1
make[3]: Leaving directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray/src'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/bluray'
make: *** [.bluray] Error 2
更新libtool: wget http://mirrors.ustc.edu.cn/gnu/libtool/libtool-2.2.6b.tar.gz 之是以是2.2.6b, 是由于以前遇到有一個庫,隻能裝2.2.6b才不報錯。(哪個庫?忘了)
6, vlc2.0.3: libcddb-1.3.2 mkdir -p -- /root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/share/aclocal && cd cddb && autoreconf -fiv -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/share/aclocal
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Can't exec "autopoint": No such file or directory at /usr/local/share/autoconf/Autom4te/FileUtils.pm line 347.
autoreconf: failed to run autopoint: No such file or directory
autoreconf: autopoint is needed because this package uses Gettext
make: *** [.cddb] Error 1
Added the "gettext-devel" package. This package is needed for autopoint.
http://wiki.xbmc.org/index.php?title=How-to:Compile_XBMC_for_Linux_on_Fedora_Red_Hat_Enterprise_Linux_CentOS 啟示:參考下面, 可以看到, 可以安裝很多庫的 比如 libmad-devel, libass-devel, libvorbissudo yum -y install gettext-devel
sudo yum -y install SDL* glew glew-devel libmad-devel tre tre-devel libogg libogg-devel libvorbis libvorbis-devel boost \ boost-devel bzip2-devel bzip2-libs fribidi* lzo lzo-devel mysql-libs mysql-devel jasper jasper-devel faac faac-devel \ enca enca-devel hal hal-devel hal-libs cmake gperf nasm libXmu-devel fontconfig-devel freetype-devel libXinerama-devel \ pcre-devel gcc-c++ sqlite-devel curl-devel mysql-devel libcdio-devel libmms-devel faad2-devel flac-devel libsmbclient-devel \ libXtst-devel libsamplerate-devel libtiff-devel pulseaudio-libs-devel avahi-devel wavpack-devel libmpeg2-devel libtool \ libmicrohttpd-devel libmodplug-devel redhat-lsb expat-devel gettext-devel python-devel libass-devel bluez-libs-devel \ libssh-devel yajl-devel tinyxml-devel libcap-devel afpfs-ng-devel
7, vlc2.0.3: cddb
make[2]: Entering directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/cddb/lib'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -I/root/wgj/vlc-2.0.3_bak/contrib/x86_64-redhat-linux/include -D_BSD_SOCKLEN_T_=int -DWIN32_LEAN_AND_MEAN -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -c -o cddb_track.lo cddb_track.c
../libtool: line 466: CDPATH: command not found
../libtool: line 1144: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b
libtool: and run autoconf again.
make[2]: *** [cddb_track.lo] Error 63
make[2]: Leaving directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/cddb/lib'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/root/wgj/vlc-2.0.3_bak/contrib/linux/cddb'
make: *** [.cddb] Error 2
确認已經安裝libtool 2.2.6b, 但是執行 libtool --version 得到: [[email protected] cddb]# libtool --version
ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
說明新的安裝不起作用,
[[email protected]]# find -name "libtool*"
./share/automake-1.4/libtool.am
./share/automake-1.7/am/libtool.am
./share/info/libtool.info.gz
./share/libtool
./share/automake-1.9/am/libtool.am
./share/automake-1.6/am/libtool.am
./share/automake-1.5/am/libtool.am
./share/aclocal/libtool.m4
./share/doc/libtool-1.5.22
./local/src/nagios-plugins-1.4.13/libtool
./local/src/httpd-2.2.22/srclib/apr/libtool
./local/src/httpd-2.2.22/srclib/apr/build/libtool.m4
./local/src/httpd-2.2.22/srclib/apr-util/xml/expat/conftools/libtool.m4
./local/share/info/libtool.info-2
./local/share/info/libtool.info
./local/share/info/libtool.info-1
./local/share/libtool
./local/share/aclocal/libtool.m4
./local/apache2/build/libtool
./local/bin/libtool
./local/bin/libtoolize
./bin/libtool
./bin/libtoolize
mv ./bin/libtool ./bin/libtool_bak mv ./bin/libtoolize ./bin/libtoolize_bak
打開/etc/profile, 添加export PATH=$PATH:$/usr/local/bin 執行. /etc/profile 驗證: libtool --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <[email protected]>, 1996
問題依舊。
http://os.51cto.com/art/201001/177866.htm
查詢libtool rpm 包:
rpm -qal | grep libtool
顯示依然 libtool 1.5.22
删除libtool
rpm -e libtool
重新安裝libtool 2.2.6b後 [[email protected] 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
[[email protected] cddb]# ./configure
./configure: line 2143: syntax error near unexpected token `config.h'
./configure: line 2143: `AM_CONFIG_HEADER(config.h)'
[[email protected] 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
[[email protected] 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檔案格式
wget http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz 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
wget http://download.opensuse.org/source/distribution/12.1/repo/oss/suse/src/libnettle-2.4-5.1.2.src.rpm 解壓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版本: [[email protected] 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:
<http://www.gnu.org/software/libc/bugs.html>.
#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
題外話: The linuxtech-testing repo has 2.0.0-2.el6 and ATrpms has 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
-fpic
Generate position-independent code (PIC) suitable for use in a
shared library, if supported for the target machine. Such code
accesses 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 of
the operating system). If the GOT size for the linked executable
exceeds a machine-specific maximum size, you get an error message
from the linker indicating that -fpic does not work; in that case,
recompile with -fPIC instead. (These maximums are 8k on the SPARC
and 32k on the m68k and RS/6000. The 386 has no such limit.)
Position-independent code requires special support, and therefore
works only on certain machines. For the 386, GCC supports PIC for
System V but not for the Sun 386i. Code generated for the IBM
RS/6000 is always position-independent.
-fPIC
If supported for the target machine, emit position-independent
code, suitable for dynamic linking and avoiding any limit on the
size of the global offset table. This option makes a difference on
the m68k and the SPARC.
Position-independent code requires special support, and therefore
works 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