首先
#./configure --codecsdir=/usr/local/lib/codecs --enable-gui --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8
出现错误:
Error: The GUI requires libavcodec with PNG support (needs zlib)
解决继续:
# sudo apt-get install zlib1g-dev
出现错误:
Unknown parameter: --win32codecsdir=/usr/lib/wincodecs/
解决继续:
出现错误:
Error: X11 support required for GUI compilation.解决继续:
sudo apt-get install libgtk2.0-dev
最终:
./configure --codecsdir=/usr/local/lib/codecs --enable-gui --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8
./configure –prefix=/usr/local/mplayer –enable-gui –enable-freetype –codecsdir=/usr/lib/codecs/ –win32codecsdir=/usr/lib/win32/ -enalbe-largefiles -enable-menu -language=zh_CN –enable-libmp3lame –enable-libogg –enable-libvorbis –enable-libtheora –enable-libfaac
解释一下参数
--enable-gui 是打开图形界面 这个我想一般都需要
--enalbe-largefiles 允许播放超过2g的大文件
--enable-menu 允许菜单
--prefix=/usr 如果加上此句,mplayer,gmplayer放到/usr/bin/目录下,没有此句,则在安装目录/bin下
--confdir=/usr/local/mplayer 这个是mplayer的安装目录
此外,还有几个参数也介绍一下,也许有用。
--disable-gcc-checking 不检查gcc的版本。此处不用,MPlayer-1.0rc1就是需要gcc4.1而CentOS 5就是gcc4.1
--language=zh_CN安装中文界面。
最终的config:
./configure --prefix=/usr/local/mplayer --enable-gui --enable-freetype --codecsdir=/usr/lib/codecs/ --enable-largefiles --enable-menu --language=zh_CN
--win32codecsdir=/usr/lib/win32/
手上2个系统Ubuntu 12.04 (内核3.x) 和 Fedora 10(内核2.6x)
网上教程很扯淡,总是把简单的事情搞复杂了,Ubuntu一个大佬说,把内核安装包放在任何地方都可以,教程那些CP啊,mv 啊,具是扯蛋,浪费我N多时间,我在中文目录下一样也装成功了。真正按照步骤来,1个小时完全可以搞定一切。
值得一提的是装完新内核后VM Tools要重新安装,所以,事先把所有文件拷到桌面上去。
--------------------------------------------------------------------------------------------------------
ubuntu 12.04 更新内核步骤 + Fedora 10 更新内核步骤
到官方 http://kernel.org/ 下载,得到 3.3.6 或者更加新的版本。
先安装 ncurses 工具,这是字符版配置工具所依赖的:
$ apt-get install libncurses5 libncurses5-dev #(Ubuntu 环境)
$ sudo yum install ncurses ncurses-devel #(Fedora 环境)
然后输入命令:
make mrproper
make clean
make menuconfig #(注意窗口拉大点,否则图像显示不下会报错。直接save,不用改)
make -j6 #(CPU是4核就写4,我是6。速度是会快些,加了后20分钟make完成,不加要近1小时)
sudo make modules_install
sudo make install
上面的命令会把编译文件夹里面的“arch/x86/boot/bzImage”文件复制到“/boot”,同时还会复制 config 和 System.map 文件,最终在“/boot”会多出如下3个文件:
/boot/config-3.3.6
/boot/System.map-3.3.6
/boot/vmlinuz-3.3.6
注意查看是否有这3个文件生成,没有的话,或者差某1个的话进行以下步骤,差那个就做那个步骤:
1.将编译内核时生成的内核镜像bzImage拷贝到/boot目录下,并将这个镜像命名为vmlinuz-3.3.6。如果使用x86的cpu,则该镜像位于arch/x86/boot/目录下(处于正在编译的内核源码下)。
2.将~/linux-3.3.6/目录下的System.map拷贝到/boot/目录下,重新命名为System.map-3.3.6。该文件中存放了内核的符号表。
3.将~/linux-3.3.6/目录下的.config拷贝到/boot/目录下,重新命名为config-3.3.6。
ok,到这里就算编译完成了,再就需要做一个事情,选择哪个内核启动
位置在 /boot/grub/ 需要改动2个地方
,注意不要删东西,启动改为3.3.6那个,改为0,时间改为10好了,保存重启。
重启,
查看内核版本号命令 uname -a 更新到3.3.6了。
弄完了重新安装VM Tools,
一路回车即可
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ok 既然更新了内核,继续开始搞 CX25821的驱动吧。。。
结果出现找不到 smp_lock.h文件的错误,编译中止。google了一下,原因是新的2.6.39以后的内核,已经木有这个文件了。
悲催啊,尼玛刚刚更新的3.3.6内核啊啊啊啊啊。。。
蛋定,蛋定,心平气和,慢慢搞定 CX25821。。。。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
error "Unknown RCU implementation specified to kernel configuration"
层出不穷哦,继续。。。。。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------