红联Linux门户
Linux帮助

大菜叶子:源码安装个人理解和想学爬树的老虎

发布时间:2009-12-15 22:32:01来源:红联作者:一米短绳
其实现在的yum、apt-get或者suse的YaST等等十分方便。
很轻松就能解决rpm或者dpkg管理机制的依赖不足,但这不是本文的重点。
=============================
我觉得,源码安装或者说tar安装这种方式是不会过时的,毕竟,在上述的rpm或者dpkg管理程序所制作出的rpm活deb包其重要的一环就是源码的编译。
当然,我不是编程人员,我只是想熟悉这些东西,也许今后就会有需要的时候吧。

=============================
昨天看了一遍从论坛上下的一本书,其中一章提到了源码安装,而且是用安装Mpalyer来作的例子。不过我觉得书的作者几乎所有的章节都没有说完整,只是取了其中的重点操作过程,当然,这对于复制粘贴已经足够了,可是,往往猫不会教老虎爬树的……但是我真的很相当会爬树的老虎,也想让老虎朋友们也学会爬树。



我恰巧一直也没有装Mplayer,于是决定也用这个Mplayer当作例子来介绍和共同学习源码安装的具体的具体具体的过程。

=============================
前提:
需要有相关的开发工具,例如gcc make等,有时会需要kernel development等等,总之,最好在一开始安装系统的时候,就把这些开发阿编程阿的工具都装齐。
+++++++++++++++++++++++++++

1,既然有源码安装,就需要去下载源码。到Mplayer的官方网站的download页面。
http://www.mplayerhq.hu/design7/dload.html

这就是官网的download页面,上面已经告诉我们该如何进行初步的操作。
比如,安装就需要用到 source/binary codecs/skin(这个skin是阴影的,所以可以不装,不过为了能完全的使用Mpalyer,还是下载吧),都在下面的页面中
=================
第一步:
首先是Mplayer的源码包:
我选择的是snapshot包,原始的稳定版。
ftp://ftp.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
然后是binary codecs,选择Linux PPC 版本(可以理解为norch版):
ftp://ftp.mplayerhq.hu/MPlayer/releases/codecs/essential-ppc-20071007.tar.bz2
最后是skins,随便选几个,当然也可以都给它整下来:
我是BLUE(new default mplayer skin):
ftp://ftp.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2

因为我习惯敲命令了,所以就用wget 下的。

======================
第二步:
进入/usr/local/src/中(习惯而已,可以随便在哪里),然后解压mplayer的主程序源码包。
tar -jxvf ~/download/Mplayer/main/mplayer-export-snapshot.tar.bz2
然后查看下里面的说明文件和安装文件……
不过,我看了它的说明文件,说的都是些废话。

所以还得靠自己来掌握。
========================
第三步:
进入解压好的源码包中。
先./configure -h (或--help) 查看一下所用的参数
这个步骤是很重要的,因为有时候默认的参数不见得就适合我们自己的情况。而且管理起来比较混乱。[code][root@minghuan mplayer-export-2009-12-14]# ./configure -h
Usage: ./configure [OPTIONS]...

Configuration:
-h, --help display this help and exit
这部分是说安装的路径,从里面的说明中可以看出,其实只要规定--prefix=DIR就基本上行了。不过为了以后安装解码器的时候分门别类的规划好,还是建议不要将所偶的codecs都放到
prefix/lib/codecs中,当然,为了偷懒儿,这样做是无所谓的。
我喜欢分门别类,所以就把其中的binary codecs win32 codecs 和 real codecs都分别放到不同的文件夹中----后面会有操作,无外乎就是按照下面的参数照猫画虎。

Installation directories:
--prefix=DIR prefix directory for installation [/usr/local]
--bindir=DIR directory for installing binaries [PREFIX/bin]
--datadir=DIR directory for installing machine independent
data files (skins, etc) [PREFIX/share/mplayer]
--mandir=DIR directory for installing man pages [PREFIX/share/man]
--confdir=DIR directory for installing configuration files
[PREFIX/etc/mplayer]
--libdir=DIR directory for object code libraries [PREFIX/lib]
--codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
--win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
--xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
--realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]

这下面的就是一些特性的设置,有很多很长,其实大多不必设置,因为都是atuodetect自动探测的默认选项。需要改动的只有这个--enable-gui 就是启用图形界面……不过需要注意它下面的enable-gtk1……看到解释了吗?有个force 就算不知道它是什么意思也不要乱改啊。
Optional features:
--disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
--disable-mplayer disable MPlayer compilation [enable]
--enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
--enable-gtk1 force using GTK 1.2 for the GUI [disable]

接下来就是语言的参数,很重要的,至少涉及到以后用man mplayer不会出现一大堆的英文阿(我怎么知道?因为下面写着阿!)
里面说可以用一个变量值all 来启用所有的语言支持,默认是英语支持。
那就用all吧,反正里面有中文的zh_CN,这样把所有语言都支持上之后,以后默认的语言就会以本机系统的默认语言为准了。而且以后如果想看英文的可以随便的换阿。
Language options:
--charset=charset convert the console messages to this character set
--language-doc=lang language to use for the documentation [en]
--language-man=lang language to use for the man pages [en]
--language-msg=lang language to use for the messages and the GUI [en]
--language=lang default language to use [en]
Specific options override --language. You can pass a list of languages separated
by whitespace or commas instead of a single language. Nonexisting translations
will be dropped from each list. All documentation and man page translations
available in the list will be installed, for the messages the first available
translation will be used. The value "all" will activate all translations. The
LINGUAS environment variable is honored. In all cases the fallback is English.
Available values are: all bg cs de dk el en es fr hu it ja ko mk nb nl pl ro ru sk sv tr uk pt_BR zh_CN zh_TW[/code]==============
第三步:
现在就能确定好./configure 的具体参数了。为了适应大的趋向,我决定安装在/opt目录下面。

./configure --prefix=/opt/Mplayer --codecsdir=/opt/Mplayer/codec_binary --win32codecsdir=/opt/Mplayer/codec_win32 --realcodecsdir=/opt/Mplayer/codec_real --enable-gui --language=all

开始config吧。

很快就好了,最后出现这么多话哈,其实都是废话……主要就是一句:
compile *** DO NOT REPORT BUGS if you tweak these files ***
他还不直接说编译成功,却说“当你改动这些文件(已经配置好的文件,就在上文)就不要再报告bug给我们!”……

===========
第三步/第四步:
不多说,直接 make && make install

如果出现错误信息,就仔细的看看缺少了什么工具,一般要是把一些开发工具都装齐的话是不会有错误。(当然,这需要看软件的要求,有些软件要求gcc-4.4 而你是gcc -4.1 那就别费劲了。与其去升级一个gcc 不如不装这狗屁的软件)
==============
第五步:
想用man mplayer 就要把/opt/Mplayer/share/man 这个路径加入/etc/man.conf中。(当然也可以直接用man去查看它的中文的mplayer.1 帮助文件,因为man是个综合了搜索和浏览的软件啊。

然后就是为了方便,用ln -s /opt/Mplayer/bin/mplayer /bin/gmplayer (这一定要用g大头,因为帮助文档中说这样可以直接打开图形界面)
然后再来个文字界面的 ln -s /opt/Mplayer/bin/mplayer /bin/mplayer
这样两步后,在文字界面就直接使用 mplayer 或者 gmplayer了~~

================
第六步:
按照之前./configure的设置,在/opt/Mplayer下建立 codec_binary codec_real codec_win32 三个目录准备好。
把之前下载的binary codecs 解压到对应 codec_binary目录下,这样mplayer 有解码器了。

再把之前的皮肤解压到 /opt/Mpalyer/share/mplayer/skins/目录下。这样mplayer就有皮肤了。

当然,这还差一步,当你运行 gmplayer时候会出现:
[界面外观] 未找到文件(/opt/Mplayer/share/mplayer/skins/default/skin)
这个好办,就去skins目录下建立个default目录,经过尝试,需要把之前解压好的皮肤BLUE里面的内容全部复制到default目录才可以。

===============
第七步:
好了,如果你愿意,可以在桌面建立个“启动器”,或者直接把/opt/Mplayer/share/application目录里面的已经给出的“启动器”复制到桌面,然后改下命令和图标。
图表其实也做好了,就在 /opt/Mplayer/share/pixmaps中,只是比较小,可以拉伸下桌面图表的大小嘛。

======================

[font=黑体]最后是重点的总结:<首先要保证齐全的开发编译工具>

1. 查看官方网站的说明----如果有的话。
2. 按照官方的提示下载相应的文件。
3. 解压缩/查看说明文件和安装文件----假如有的话。
4. ./configure(或./config 看情况) --help 或 -h 一定要仔细的看一下是否有重要的参数或需要的参数。
5.按照自己情况制定好./configure 的参数后开始执行。
6. make && make install (看情况 一般都是如此)
7.做好扫尾工作。
8.按照软件的man 文件查看相应的配置和其他。
[/font]



额外对习惯桌面用户的提示:
可以将制作好的启动器(大多数桌面行应用程序tar安装后会在安装位置有application目录中有启动器)复制到/usr/share/applications/中。这样在桌面的“应用程序”菜单下就能够看到对应的“快捷方式”了。
比如以上面mplayer为例:
我做好了启动器在桌面了,名为:mplayer.desktop
可以这样做: cp ~/Desktop/mplayer.desktop /usr/share/applications/
这样就可以在“应用程序”--->“影音“---->“mplayer”

唉。
文章评论

共有 9 条评论

  1. n喏 于 2012-06-14 09:08:41发表:

    学习了,谢谢

  2. chivas1207 于 2010-01-10 00:12:20发表:

    新人拜码头了,谢谢!

  3. derek_zdh 于 2009-12-26 13:58:02发表:

    正好需要,多谢楼主

  4. clovetom 于 2009-12-26 12:20:01发表:

    学习了,不错

  5. power1952 于 2009-12-26 02:04:08发表:

    看了之后我也想自己装一遍试试!迎难而上!

  6. ubchia09 于 2009-12-25 23:10:01发表:

    原来编译tar要这么多的步骤!

  7. 大宝 于 2009-12-16 09:44:27发表:

    哈哈,支持LZ,LZ的钻研精神值得大家学习

  8. dchwlinux 于 2009-12-16 06:18:12发表:

    源码编译慢,不好管理;编译好的包有依赖,不能自定义各种参数。两种方式各有优劣,不会过时。除非有一种没有依赖、安装又快还能自定义参数的管理方式。

  9. Acney 于 2009-12-16 00:12:11发表:

    支持楼主