1.使用git下载vlc-2.0源代码
2.bootstrap
在./vlc-2.0/目录下,执行./bootstrap。看看缺什么工具没有,例如gcc、make、libtool、automake、autoconfig等是否有合适的版本。
如果成功的话,Successfullybootstrapped。
3.获取第三方库(contrib方式)
//The "Contrib method“是使用contrib自动下载功能,下载第三方库,然后编译。
//The ”preferred method “是在VLC repositories中下载第三方库,然后安装,这样就不需要contrib方式了。如Debian和Suse.
本人采用”Contribmethod“方式,命令如下:
% cd contrib
% mkdir rh6
% cd rh6
% ../bootstrap
% make
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
这一步可能遇到的错误:
在contrib/rh6/目录下../bootstrap,提示:
bootstrap must be run in a subdirectory
解决办法参考:http://www.rosoo.net/a/201212/16406.html
解决:cp ./contrib/src/src/* contrib/src//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
期间,遇到了N多的错误,归类记录如下:
错误(1)
curl: (6) Couldn't resolve host 'downloads.videolan.org'
【参考】:http://www.ttlsa.com/linux/curl-6-couldnt-resolve-host/
【解决】:
执行curl指定ipv4
curl -4 downloads.videolan.or
错误(2)
curl -f -L -- "http://libass.googlecode.com/files/libass-0.10.1.tar.gz"> "../../contrib/tarballs/libass-0.10.1.tar.gz"
curl: (7) Failed to connect to 2404:6800:4005:c00::52: 网络不可达
make: *** [../../contrib/tarballs/libass-0.10.1.tar.gz]错误 7
make: *** 正在删除文件“../../contrib/tarballs/libass-0.10.1.tar.gz”
【参考】:
http://zhidao.baidu.com/link?url=aZ6mdjkItQUzy8bEtv28HyMRrL6wzuxf83i7kz9CEpWrPTH_2TPjvzFS0ybxMC87LsbdatQ4YAyACoPxFiEoR_
得到的DNS地址是IPV6的。
估计是你所在的网络还不能全完支持IPV6,
把默认查询设成IPV4吧。
【执行】:
检查当前IPv6是否已禁用,可以使用下列命令:
# lsmod | grep ipv6
# /sbin/ifconfig
首先,在终端输入ip -6 addr show 和lsmod | grep ipv6查询一下有无安装IPV6模块,如果有显示,则说明未禁用IPV6协议,请按以下步骤操作:
a) vi /etc/modprobe.d/disable-ipv6.conf(名字随便起)(RHEL6.0之后没有了/etc/modprobe.conf这个文件) 输入:install ipv6 /bin/true
b) vi /etc/sysconfig/network
在最后增加一句:IPV6INIT=no
c) 禁用ipv6的iptables
在终端运行:chkconfig ip6tables off
d) 重启。
最后,在终端再次输入开头两条命令来验证IPV6协议禁用是否成功,此时应无任何内容。
【效果】:
IPV6被禁。
【错误变为】:
curl -f -L -- "http://libass.googlecode.com/files/libass-0.10.1.tar.gz"> "../../contrib/tarballs/libass-0.10.1.tar.gz"
curl: (7) couldn't connect to host
make: *** [../../contrib/tarballs/libass-0.10.1.tar.gz]错误 7
make: *** 正在删除文件“../../contrib/tarballs/libass-0.10.1.tar.gz”
【查找】:
在浏览器中输入http://libass.googlecode.com/files/libass-0.10.1.tar.gz,无法访问。
【解决】:
本人所在网络访问googlecode很困难,有时能访问以下;因此,使用其他下载工具长期蹲守,期待能下载的瞬间;或者搜索在其他网站下载。压缩包下载之后放到相应目录下即可,
例如,该错误显示需要放在../../contrib/tarballs/目录,并命名为libass-0.10.1.tar.gz。
错误(3)
fribidi-0.19.6/ChangeLog
(cd fribidi-0.19.6 &&patch -p1) < ../../contrib/src/fribidi/fribidi.patch
patching file Makefile.am
patching file configure.ac
Hunk #1 succeeded at 174 (offset 9 lines).
patching file fribidi.pc.in
mv fribidi-0.19.6 fribidi && touchfribidi
cd fribidi && rm -f configure && ./bootstrap
Usable autoreconf found, running
configure.ac:13: error: Autoconf version 2.64 or higher is required
configure.ac:13: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
aclocal: autom4te failed with exit status: 63
autoreconf: aclocal failed with exit status: 63
make: *** [.fribidi] 错误 63
【查找资料】:
http://hi.baidu.com/496809502/item/e12a2c031e9c033fa2332a69
指的是autoconf版本低,需要安装高版本的。
【解决】:
a) wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
b) tar xzf autoconf-2.69.tar.gz
c) cd autoconf-2.69
d) ./configure
e) make && make install
错误(4)
cd libvpx && CROSS= ./configure --target=x86-linux-gcc \
--enable-runtime-cpu-detect --disable-install-bins--disable-install-srcs --disable-install-libs --disable-install-docs--disable-examples --disable-vp8-decoder --enable-pic
Configuring selected codecs
enabling vp8_encoder
Configuring for target 'x86-linux-gcc'
enabling x86
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] 错误 1
【解决】:
yasm是一个汇编编译器,声称是nasm的升级版。
下载地址:http://www.tortall.net/projects/yasm/releases/
解压,./configure,make, make install,安装之后,继续。
错误(5)
rm -Rf gecko-svn
svn export http://npapi-sdk.googlecode.com/svn/trunk/headers gecko-svn -rHEAD
svn: 方法 OPTIONS 失败于“http://npapi-sdk.googlecode.com/svn/trunk/headers”: 无法连接到服务器(http://npapi-sdk.googlecode.com)
make: *** [../../contrib/tarballs/gecko-svn.tar.xz] 错误1
【解决】:
根据svnexport命令,可以看出,是在下载npapi-sdk的headers存储在gecko-svn目录。
因此,手动完成该操作,但是googlecode无法访问。
查看网址:http://blog.sina.com.cn/s/blog_71d9aee40100ufm2.html
下载NPAPI最新的头文件(npapi.h npfunctions.h npruntime.h nptypes.h)
http://npapi-sdk.googlecode.com/svn/trunk/headers/}
可以看出npapi-sdk的headers包括:(npapi.h npfunctions.h npruntime.h nptypes.h)四个文件,
既然无法下载,那么,就手动创建这几个文件。
在./contrib/tarballs目录下,创建目录gecko-svn目录,并创建如上四个文件,并copy代码。
打包成gecko-svn.tar.xz文件,存储在./tarballs目录下。
错误(6)
[root@robin rh6]# make
cd game-music-emu && CC="gcc" CXX="g++"LD="ld" AR="ar" RANLIB="ranlib"STRIP="strip"PATH="/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux/bin:/home/jenna/vlc/vlc-2.0/extras/tools/build/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"CPPFLAGS=" -I/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux/include-fPIC" CFLAGS="-I/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux/include -g -fPIC"CXXFLAGS=" -I/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux/include -g-fPIC" LDFLAGS=" -L/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux/lib"cmake .-DCMAKE_TOOLCHAIN_FILE=/home/jenna/vlc/vlc-2.0/contrib/rh6/toolchain.cmake-DCMAKE_INSTALL_PREFIX=/home/jenna/vlc/vlc-2.0/contrib/i686-redhat-linux .
/bin/sh: cmake: command not found
make: *** [.gme] 错误 127
【参考】:
http://blog.csdn.net/ikscher/article/details/8348925
http://www.cnblogs.com/sinojelly/archive/2010/05/22/1741337.html
http://fhqdddddd.blog.163.com/blog/static/1869915420127203333660/
首先下载源码包:
http://www.cmake.org/cmake/resources/software.html
这里下载的是cmake-2.8.9.tar.gz
随便找个目录解压缩
tar -xzvf cmake-2.8.9.tar.gz
cd cmake-cmake-2.8.9
依次执行:
./bootstrap
make
make install
cmake 会默认安装在 /usr/local/bin 下面
要改变安装路径,在bootstrap命令中加入'--prefix=PATH'选项。
4. 在vlc-2.0/目录下./configure
./configure --help
可以看到N多的disable/enable项,最笨的方法是抄下所有的项,只enable用到的项,其他一律disable。
./configure \
--disable-lua \
--disable-libproxy \
--enable-live555 \
--disable-dc1394 \
--disable-dv \
--disable-linsys \
--disable-dvdread \
--disable-dvdnav \
--disable-dshow \
--disable-bluray \
--disable-opencv \
--disable-smb \
--disable-sftp \
--disable-v4l2 \
--disable-pvr \
--disable-decklink \
--disable-gnomevfs \
--disable-vcdx \
--disable-vcd \
--disable-libcddb \
--disable-screen \
--disable-realrtsp \
--disable-macosx-eyetv \
--disable-macosx-qtkit \
--disable-dvbpsi \
--disable-gme \
--disable-sid \
--disable-ogg \
--disable-mux_ogg \
--disable-shout \
--disable-mkv \
--disable-mod \
--disable-mpc \
--disable-wma-fixed \
--disable-shine \
--disable-omxil \
--disable-iomx \
--disable-crystalhd \
--disable-mad \
--enable-merge-ffmpeg \
--enable-avcodec \
--disable-libva \
--disable-dxva2 \
--disable-switcher \
--enable-avformat \
--enable-swscale \
--disable-postproc \
--disable-faad \
--disable-twolame \
--disable-quicktime \
--disable-real \
--disable-a52 \
--disable-dca \
--disable-flac \
--disable-libmpeg2 \
--disable-vorbis \
--disable-tremor \
--disable-speex \
--disable-opus \
--disable-theora \
--disable-dirac \
--disable-schroedinger \
--disable-png \
--disable-x264 \
--disable-fluidsynth \
--disable-zvbi \
--disable-telx \
--disable-libass \
--disable-kate \
--disable-tiger \
--disable-egl \
--disable-xcb \
--enable-xvideo \
--enable-glx \
--enable-sdl \
--enable-sdl-image \
--disable-macosx-vout \
--enable-freetype \
--enable-fribidi \
--enable-fontconfig \
--disable-macosx-quartztext \
--enable-svg \
--disable-android-surface \
--disable-ios-vout \
--disable-directx \
--disable-direct2d \
--disable-wingdi \
--disable-directfb \
--enable-aa \
--enable-caca \
--disable-kva \
--disable-pulse \
--disable-alsa \
--disable-oss \
--disable-portaudio \
--disable-waveout \
--disable-macosx-audio \
--disable-audioqueue \
--disable-jack \
--disable-opensles \
--disable-samplerate \
--disable-kai \
--disable-skins2 \
--enable-libtar \
--disable-hildon \
--enable-qt4 \
--disable-macosx \
--disable-macosx-dialog-provider \
--disable-ncurses \
--enable-xosd \
--enable-fbosd \
--enable-lirc \
--enable-visual \
--disable-goom \
--disable-projectm \
--disable-atmo \
--disable-bonjour \
--disable-udev \
--disable-mtp \
--disable-upnp \
--disable-libxml2 \
--enable-libgcrypt \
--enable-gnutls \
--disable-taglib \
--enable-update-check \
--enable-growl \
--enable-notify \
--enable-media-library \
--enable-sqlite \
--enable-loader \
--enable-vlc \
--enable-macosx-vlc-app
5. 在vlc-2.0目录下make
成功。
6. vlc-2.0依赖的contrib/tarballs/打包后的下载地址为:
http://download.csdn.net/detail/sweet_life/7551097
http://download.csdn.net/detail/sweet_life/7551099
csdn限制资源大小60M,因此,只能上传两次。