天天看點

centos5.8 64bit 編譯vlc 筆記

轉載請注明出處: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.

sudo yum -y install  gettext-devel
      
http://wiki.xbmc.org/index.php?title=How-to:Compile_XBMC_for_Linux_on_Fedora_Red_Hat_Enterprise_Linux_CentOS  啟示:參考下面, 可以看到, 可以安裝很多庫的 比如 libmad-devel, libass-devel, libvorbis
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

繼續閱讀