如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
从源码编译安装东东,不是很容易,想想在使用lfs之前,源码编译安装软件从来没成功过,甚至出现错误都无从下手,只能放弃:(经过lfs的洗礼,总算对源码编译安装有了一点认识,可惜当初没有把这些经验写下来:(不过现在开始写也不迟:) 将编译中遇到的问题及解决的方法记下来,积累经验,也可以让来往的newbie对源码安装软件了解一些,多一些成功机率,毕竟从源码包编译东东还是有一定好处的^_^如何从源码包安装软件?从源码包安装软件最重要的就是仔细阅读READMEINSTALL等说明文件它会告诉你怎样才能成功安装 :)通常从源码包安装软件的步骤是:tarjxvfgtk+-2.4.13.tar.bz2 解开源码包cdgtk+-2.4.13/进入源码目录./configure 似乎在某些环境下./configure会造成终端退出而使用.configure则会正常运行,如果有这个现象,就试试.configure通过configure程序猜测主机信息,最终建立Makefile,以完成make,所以如果./configure不成功而去make的话,就会出现"make:***Notargetsspecifiedandnomakefilefound.Stop."make当./configure成功结束后,就开始正式编译程序了.makeinstall 编译成功后使用makeinstall安装makeuninstall某些软件支持卸载,可能使用该方法卸载,如果支持的话,通常会在README中写到(似乎比较少)configure程序带有很多参数,可以通过./configure--help查看详细内容,通常位于前面的是常规configure的参数说明,末尾是该程序的可用参数说明。./configure--prefix=/usr指定安装目录,通常从源码包编译安装的软件默认会放在/usr/local下因为这是FHS(FilesystemHierarchyStandard)的规定,不知道什么是FHS?看看这篇文章吧:HYPERLINK"http://www.pathname.com/fhs/pub/fhs-2.3.html"\t"_blank"http://www.pathname.com/fhs/pub/fhs-2.3.html相信它会让你对linux系统结构有更好的理解,很值得读读。再说一下几个关系到能否成功编译的东东:/etc/ld.so.conf ldconfig PKG_CONFIG_PATH首先说下/etc/ld.so.conf:这个文件记录了编译时使用的动态链接库的路径。默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件如果你安装了某些库,比如在安装gtk+-2.4.13时它会需要glib-2.0>=2.4.0,辛苦的安装好glib后没有指定--prefix=/usr 这样glib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib这个搜索路径,所以编译gtk+-2.4.13就会出错了:(对于这种情况有两种方法解决:一:在编译glib-2.4.x时,指定安装到/usr下,这样库文件就会放在/usr/lib中,gtk就不会找不到需要的库文件了:)对于安装库文件来说,这是个好办法,这样也不用设置PKG_CONFIG_PATH了(稍后说明)二:将/usr/local/lib加入到/etc/ld.so.conf中,这样安装gtk时就会去搜索/usr/local/lib,同样可以找到需要的库:)将/usr/local/lib加入到/etc/ld.so.conf也是必须的,这样以后安装东东到local下,就不会出现这样的问题了。将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择^_^添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。例如:/usr/X11R6/lib/usr/local/lib/opt/lib再来看看ldconfig是个什么东东吧:它是一个程序,通常它位于/sbin下,是root用户使用的东东。具体作用及用法可以manldconfig查到简单的说,它的作用就是将/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果编译过程中抱错,缺少xxx库,去查看