VLC编译问题

在Ubuntu下编译VLC源代码生成的VLC无法播放Youtube视频(比如https://www.youtube.com/watch?v=mDp-ABzpRX8)

错误提示如下:

[email protected]:~/vlc-2.1.5$ ./vlc
VLC media player 2.1.5 Rincewind (revision 2.1.4-49-gdab6cb5)
[0x9872a98] main libvlc: 正在以默认界面运行 vlc,使用 ‘cvlc‘ 将 vlc 运行在无界面的状态下。
[0x9931448] main tls client error: TLS client plugin not available
[0xb5d034d8] main input error: open of `https://www.youtube.com/watch?v=mDp-ABzpRX8‘ failed

原因是缺少TLS客户端插件,因此需要将GNUTLS库编译进来。

下载GNUTLS库,最新版本3.3.12,configure时报错,缺少依赖库Libnettle,而且只能适配2.7.1,nettle3.0还不行。

[email protected]:~/gnutls-3.3.12$ ./configure --prefix=/usr
configure: error:
  ***
  *** Libnettle 2.7.1 was not found. Note that this version of gnutls doesn‘t support nettle 3.0.

又去下载NETTLE库,编译安装,再运行GNUTLS的configure,NETTLE倒是检查通过,但依然报错,还需要HOGWEED库和GMP。

[email protected]:~/gnutls-3.3.12$ ./configure --prefix=/usr
..................
checking for NETTLE... yes
checking for HOGWEED... no
configure: error:
  ***
  *** Libhogweed (nettle‘s companion library) was not found. Note that you must compile nettle with gmp support.

下载GMP库,编译安装:How to Install GMP in Ubuntu

下载HOGWEED库,编译安装。

然后,需要重新配置安装NETTLE,可以参考这篇文章(遇到的一模一样的问题及解决方案)。

再再次重新配置编译GNUTLS,

configure正常通过,但make时又报错了,典型的undefined reference to的error问题。

../lib/.libs/libgnutls.so: undefined reference to `nettle_umac96_set_key‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_salsa20_crypt‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac128_update‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac96_set_nonce‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_salsa20_set_key‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac128_set_nonce‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac128_set_key‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac96_digest‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_salsa20_set_iv‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac128_digest‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_salsa20r12_crypt‘
../lib/.libs/libgnutls.so: undefined reference to `nettle_umac96_update‘
collect2: ld returned 1 exit status
make[4]: *** [psktool] Error 1
make[4]: Leaving directory `/home/zlf/gnutls-3.3.12/src‘
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/zlf/gnutls-3.3.12/src‘
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/zlf/gnutls-3.3.12/src‘
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/zlf/gnutls-3.3.12‘
make: *** [all] 错误 2
时间: 2024-10-31 01:56:26

VLC编译问题的相关文章

VLC编译

http://blog.csdn.net/hdh4638/article/details/7602321 1 下载代码 ki.videolan.org/VLC_Source_code git colone git://git.videolan.org/vlc.git 2 编译 http://wiki.videolan.org/UnixCompile A 编译工具检测 % sudo apt-get install git libtool build-essential pkg-config aut

Android VLC 编译总结

最近在一个项目里需要一个Android APP能够同时播放多路流媒体视频,还需要具有录像.截屏功能.在调研多个方案之后,选择移植VLC播放器.需要在Linux(本人使用Ubuntu 14.10)下编译VLC for Android的源码,根据官方的Wiki,以及自己实际操作的步骤,总结为如下: 需要注意的是编译的过程都是普通用户权限,不需要root权限. 1. 安装工具 sudo apt-get install gcc g++ ant autoconf automake autopoint cm

IOS VLC编译步骤(包含移植和截图功能)

http://blog.csdn.net/Kan_Crystal/article/details/40424673 一.下载源码 先到VLC官网将源码下载到本机,以下链接为官网编译操作地址:https://wiki.videolan.org/IOSCompile/ 将终端打开执行以下命令 (建议使用VPN) : git clone git://git.videolan.org/vlc-ports/ios.git 代码下载完成后将对代码进行编译: (Release):sh compileVLCfo

VLC 重新编译第三方库的预编译包contrib

VLC的引用了很多开源的第三方库,均放到VLC目录下的contrib中(本来开始编译是2.1.x以上版本,以前或以后可能会变化),在Windows版本编译中,contrib文件夹中仅仅下载VLC官网上已经编译好的预编译包后解压到该目录下,要修改编译脚本(compile.sh和 contrib/src下的main.mak)为fetch所有第三方包中,下载后开始自动编译(由main.mak和contrib/src/***/rules.mak控制). 一旦编译通过,一般来说,在下一次执行VLC编译脚本

Ubuntu12.04编译vlc-android详细流程

作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 摘要:本文主要介绍vlc-android在ubuntu下编译的过程. 最近研究了下 vlc-android 的编译,网上一搜资料确实不少,不过大部分都是千遍一律(也不否认有非常详细的).不能说这些都毫无价值,多少也能给编译vlc带来一些线索. 编译环境使用的是64位ubun

VLC说明

一.简介 vlc的全名是Video Lan Client,是一个开源的.跨平台的视频播放器.VLC支持大量的音视频传输.封装和编码格式,完整的功能特性列表可以在这里获得http://www.videolan.org/vlc/features.html,下面给出一个简要的不完整的列表: 操作系统:Windows.WinCE.Linux.MacOSX.BEOS.BSD 访问形式:文件.DVD/VCD/CD.http.ftp.mms.TCP.UDP.RTP.IP组播.IPv6.rtsp 编码格式:MP

vlc的应用之二:vlc的ActiveX及cab

请移步https://higoge.github.io/,所有下载资料在那个博客都能找到.谢谢. http://jeremiah.blog.51cto.com/ 2009-05-14补充:8. Activex的卸载:9. 让vlc自动安装Activex :10. 关于vlc的Activex的说明. vlc自带了ActiveX控件--axvlc.dll,在编译完vlc之后的activex文件夹下.ActiveX是个好东西,axvlc.dll可以随意放到任何位置,成功注册之后可以方便的应用在程序和网

VLC框架分析

功能部份:VLC媒体播放器的核心是libvlc ,它提供了界面,应用处理功能,如播放列表管理,音频和视频解码和输出,线程系统.所有libvlc源文件设在的/src目录及其子目录:# config/ :从命令行和配置文件加载配置,提供功能模块的读取和写入配置 # control/: 提供动作控制功能,如播放/暂停,音量管理,全屏,日志等. # extras/: 大多是平台的特殊代码 # modules/: 模块管理 # network/: 提供网络接口(socket管理,网络错误等) # osd/

VLC-开源播放器编译

http://blog.sina.com.cn/s/blog_7b9d64af0101jpvy.html 需要VLC 在iOS开发中,如果你的程序中播放视频,并且多媒体播放功能是你iOS程序的核心功能! 那么,你需要这一款播放器! 它支持m3u8.rtsp.rtmp.MP4.flv…… 多种格式!绝对比苹果自带的播放器给力的多吧!那么,可行而知,使用VLC播放器,那你的iOS应用就显的牛X太多!!! 我为编译VLC播放器,不懈努力了整整3个无眠的夜晚!擦!写下此编译过程,希望能够让别人少走弯路!