因为工作的需要,最近在看编码/解码相关的东西。videoLan是一项开源项目,是极好的研究编码/解码的对象。
于是下载源码,编译。一心以为很快就可以成功,没想到整了一天,都没有正常运行起来。但是编译过程中遇到的问题都记录
了一遍,贴出来给大家分享。
编译选项:
./configure --disable-nls --disable-mozilla --disable-postproc --disable-a52 --disable-qt4 --disable-skins2
问题1.configure: error: Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.
问题2.configure: error: Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.
解决方法: sudo apt-get install libavcodec-dev
问题3configure: error: Please install GL development package. Alternatively you can also configure with --disable-glx
解决方法:sudo apt-get install mesa-common-dev mesademos libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev
问题4.configure: error: Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.
问题5.configure: error: Could not find libpostproc. Use --disable-postproc to ignore this error.
问题6:mod.c: 在函数‘Control’中:
mod.c:321: 警告: 从类型为‘mtime_t’的函数调用转换到不匹配的类型‘double’
mod.c:370: 错误: 隐式声明函数‘ModPlug_NumSamples’
mod.c:371: 错误: 隐式声明函数‘ModPlug_NumInstruments’
mod.c:372: 错误: 隐式声明函数‘ModPlug_NumPatterns’
mod.c:373: 错误: 隐式声明函数‘ModPlug_NumChannels’
mod.c:384: 错误: 隐式声明函数‘ModPlug_GetMessage’
mod.c:384: 警告: 赋值时将整数赋给指针,未作类型转换
mod.c:410: 警告: 比较有符号和无符号数
mod.c:413: 错误: 隐式声明函数‘ModPlug_InstrumentName’
mod.c:422: 警告: 比较有符号和无符号数
mod.c:425: 错误: 隐式声明函数‘ModPlug_SampleName’
解决:未解决,将此内容mark掉
成功.
Enabled modules: a52tospdif access_alsa access_mmap access_oss adjust alphamask alsa aout_file atmo audio_format audioscrobbler avcodec avformat bandlimited_resampler blend blendbench bluescreen bonjour canvas cdda chain clone cmml colorthres converter_float crop croppadd dbus deinterlace dolby_surround_decoder dtstospdif dynamicoverlay equalizer erase extract fake fb float32_mixer folder freetype gaussianblur gestures glx gnutls gradient grain headphone_channel_mixer hotkeys http i420_rgb_mmx i420_rgb_sse2 i420_ymga i420_ymga_mmx i420_yuy2 i420_yuy2_mmx i420_yuy2_sse2 i422_i420 i422_yuy2 i422_yuy2_mmx i422_yuy2_sse2 inhibit invert linear_resampler logo magnify marq memcpy3dn memcpymmx memcpymmxext mosaic motion motionblur motiondetect mpgatofixed32 mux_ogg noise normvol ogg opengl opengl osd_parser osdmenu oss panoramix param_eq png podcast psychedelic puzzle rc remoteosd ripple rotate rss rv32 sap scale scaletempo scene screensaver sharpen shout showintf signals simple_channel_mixer spatializer spdif_mixer stream_out_raop swscale telepathy telnet telx transform unzip v4l2 vcd visual vmem vorbis wall wave x11 x11_screen xml yuv yuvp yuy2_i420 yuy2_i422 zip
libvlc configuration
--------------------
version : 1.0.5
system : linux
architecture : i686 mmx sse sse2
build flavour : devel
vlc aliases : cvlc rvlc
plugins/bindings :
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
--------------------------------------------------------------------------------------------------------------------------------------------------
运行时出现问题:
问题1.no interface module matched "globalhotkeys,none"
解决:安装 sudo apt-get install libmodplug-dev
问题2.:It compiles and installs with no problems but when I try to run I get:
vlc: error while loading shared libraries: libvlc.so.2: cannot open shared object file: No such file or directory
解决:most likely your ld cache is outdated.
/sbin/ldconfig (as root) and this might help you.
问题3.运行后没有界面出来,程序无法正常工作.查找了很多贴子,一直悬而未决:
/vlc: line 60: X./vlc: 没有该文件或目录
VLC media player 1.0.5 Goldeneye
LibVLC has detected an unusable buggy GNU/libc version.
Please update to version 2.8 or newer.
[0x8051148] main libvlc error: no memcpy module matched "any"
[0x80d1600] main access error: no access module matched "file"
[0x80d2c10] main input error: open of `file/xspf-open:///home/wupeng/.local/share/vlc/ml.xspf' failed: no access module matched "file"
[0x80d2c10] main input error: Your input can't be opened
[0x80d2c10] main input error: VLC is unable to open the MRL 'file/xspf-open:///home/wupeng/.local/share/vlc/ml.xspf'. Check the log for details.
[0x80d32b8] main interface error: no interface module matched "hotkeys,none"
[0x80d32b8] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "hotkeys,none" initialization failed
[0x80d32b8] main interface error: no interface module matched "inhibit,none"
[0x80d32b8] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "inhibit,none" initialization failed
[0x80d32b8] main interface error: no interface module matched "screensaver,none"
[0x80d32b8] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "screensaver,none" initialization failed
[0x8051148] main libvlc error: option drawable-xid does not exist
[0x80d32b8] main interface error: no interface module matched "signals"
[0x80d32b8] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "signals" initialization failed
[0x80d32b8] main interface error: no interface module matched "globalhotkeys,none"
[0x80d32b8] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x8051148] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0x80d05c0] main interface error: no interface module matched "any"
[0x80d05c0] main interface error: no suitable interface module
[0x8051148] main libvlc error: interface "default" initialization failed