RedHat6.0下编译vlc-2.0

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方式了。如DebianSuse.

本人采用”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,因此,只能上传两次。

 

你可能感兴趣的:(流媒体)