Chinaunix

标题: 程序执行时cannot load module? [打印本页]

作者: djstava    时间: 2010-01-03 15:24
标题: 程序执行时cannot load module?
ubuntu 9.10
一、在编译VLC完成后执行,出现错误:

[0x997e198] main libvlc warning: cannot load module `/usr/local/lib/vlc/demux/libavformat_plugin.so' (/usr/local/lib/libavformat.so.52: undefined symbol: av_init_packet)
[0x997e198] main libvlc warning: cannot load module `/usr/local/lib/vlc/codec/libavcodec_plugin.so' (/usr/local/lib/vlc/codec/libavcodec_plugin.so: undefined symbol: vaUnmapBuffer)

configure参数如下
./configure --enable-avcodec --enable-avformat --enable-debug --enable-run-as-root

二、同时ffmpeg也是从源码开始编译的,./configure --enable-shared --disable-static,make sudo make install

djstava@linux:~/vlc-1.0.0$ ls -l /usr/local/lib/vlc/codec/libavcodec_plugin.so
-rwxr-xr-x 1 root root 234296 2010-01-03 14:57 /usr/local/lib/vlc/codec/libavcodec_plugin.so


不是很清楚程序模块加载的机制,高手请指点下,谢谢!
作者: snail_314    时间: 2010-01-04 16:16
先用ldd -r检查一下。将/usr/local/lib目录添加到/etc/ld.conf.so那个下面,执行一下ldconfig。(具体步筹看看man ldconfig)
作者: djstava    时间: 2010-01-05 09:14
原帖由 snail_314 于 2010-1-4 16:16 发表
先用ldd -r检查一下。将/usr/local/lib目录添加到/etc/ld.conf.so那个下面,执行一下ldconfig。(具体步筹看看man ldconfig)


这步已经做过了,谢谢。
作者: emmoblin    时间: 2010-01-09 21:53
undefined symbol: av_init_packet
它已经告诉你不能load的原因了。

这个包里没有需要的符号。

应该是库和程序的版本不匹配。
你要到官方网站上去看看,到底依赖哪个版本的库
作者: djstava    时间: 2010-01-10 15:51
原帖由 emmoblin 于 2010-1-9 21:53 发表
undefined symbol: av_init_packet
它已经告诉你不能load的原因了。

这个包里没有需要的符号。

应该是库和程序的版本不匹配。
你要到官方网站上去看看,到底依赖哪个版本的库


谢谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2