centos5.8 64bit 编译vlc 笔记

本文档记录了在CentOS 5.8 64位系统上编译VLC播放器的过程,包括下载源码等步骤。
摘要由CSDN通过智能技术生成

转载请注明出处: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

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下
[root@jx 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:

启示: 类似问题可以类似解决


5, vlc2.0.3: bluray

[root@jx 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 &&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值