文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何编译安装源码包软件

如何编译安装源码包软件

时间:2006-09-22  来源:音乐无限Emi

教学目标:
1.学会安装、卸载软件。
2.知道软件安装在哪里。
3.如何执行软件。
4.学会根据需要定制安装软件。
5.定制安装软件的卸载。

一、源码包软件的安装、卸载
 源码包就是源代码可见的软件包,基于Linux系统的源码软件包中,最为常见的格式是
file.tar.gz 和 file.tar.bz2。
 安装:
[root@localhost beinan]# tar jxvf file.tar.bz2 或
[root@localhost beinan]# tar zxvf file.tar.gz
 解开软件包查看帮助文档;
我们解开一个包后,进入解压包,一般都能发现README(或reame)和INSTALL( 或install);或doc(或

DOC)目录。按说明安装。
 卸载:
进入编译后的软件目录,执行反安装命令:make uninstall.

二、软件安装在哪里
一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找.

三、如何执行软件
如果您想要让file只要执行file,就能调用,请配置环境变量,或者在/usr/bin 中做一个file 的链接;
[root@localhost ]# ln -s /opt/file/bin/fcitx /usr/bin/file 或
[root@localhost ]# export

PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/file/bin"
四、根据需要定制安装软件
./configure --prefix=/home/gaolei

五、定制安装软件的卸载
 因为我们指定了软件的安装目录,所以直接删除软件的目录就行了。


教学实验:
1.按默认配置编译安装一个软件包。并在/bin目录下建立连接。
2.卸载此软件。
3.按需求定制安装软件包。
./configure --prefix=/home/gaolei
make LDFLAGS="-static"

4.找到软件安装位置,
5.卸载此软件。

 
:::装不上怎么办?:::
首先我们在Linux系统中至少得把开发工具安装上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等开发工具或基础包;还要安装一些相应的开发包,一般是文件名包括dev的,比如kernel-devel;还有一些开发库,比如以lib开头的;如果您在编译软件时,有时提示缺少什么东西之类的,大多少的是这些开发工具和开发库等;从光盘中找出安装就是了;有时光盘没有提供,请用google搜索相应的软件包,有时可能也会用到源码包编译安装所依赖的包;

有时本来系统中已经安装了所依赖的包,但系统提示找不到应该怎么办?这时需要我们设置一下PKG_CONFIG_PATH的环境变量就行了;


#export PKG_CONFIG_PATH=/usr/lib/pkgconfig

#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然后我们再来运行编译的./configure ;make ;make install ,尝试着来吧;


以java开发的工具开发的程序,要用到 jre或者jdk ;jdk已经包括jre了,所以如果我们只是要求有一个java程序运行的环境,只需要安装jre就行了;安装好jre,配置一下java的环境变量就可以用了。如果是图形界面的程序,点点鼠标就OK了;(比如安装LumaQQ就必须安装jre,因为LumaQQ是用java编写的。)


部分configure
--disable-nls
这个参数禁止了国际化(通常简称i18n),静态程序不需要国际化的特性。


--disable-profile
它关掉了 profiling 信息相关的库文件编译。如果你打算做 profiling ,就省掉这个参数。

--enable-add-ons
这个指示 Glibc 使用附加的 NPTL 包作为线程库。

--enable-kernel=2.6.0
这个告诉编译支持2.6.x内核的库。

--enable-clocale=gnu
本参数确保C++库在任何情况下都使用正确的 locale 模块。如果配置脚本查找到 de_DE 这个 locale ,

它就会使用正确的 gnu locale 模块。然而,如果没有安装 de_DE ,就有可能创建出应用程序二进制接
口(ABI)不兼容的C++库文件,这是因为选择了错误的通用(generic) locale 模块。
--enable-languages=c,c++
本参数编译 C 和 C++ 语言的编译器。

--disable-libstdcxx-pch
不为 libstdc++ 编译预编译头(PCH),它占用了很大空间,但是我们用不到它。

--localstatedir
将 locate 数据库的位置指定为 /var/lib/locate ,以符合 FHS 标准。

--sysconfdir=/etc
这个选项告诉程序建立软件包时在 /etc 目录里查找配制文件。

--disable-syslogd
这个参数阻止 inetutils 安装 System Log Daemon(系统日志守护进程),我们将在后面的 Sysklogd 软

件包中安装它。
--disable-logger
阻止 inetutils 安装 logger 程序,脚本利用这个程序向系统日志守护进程传递消息。我们不安装它是

因为 Util-linux 包含一个更好的版本。
--disable-whois
阻止 inetutils 编译 whois 客户端,因为它已经很陈旧了。在 BLFS book 里面有安装更好的 whois 客

户端的指导。
--disable-servers
阻止安装几种网络服务器。

-Dpager="/bin/less -isR"
纠正 perldoc 代码调用 less 程序时的一个错误。

make SBINDIR=/sbin
SBINDIR=/sbin
确保将 IPRoute2 包中的二进制文件安装到 /sbin 目录中以符合 FHS 标准,因为一些 IPRoute2 二进制

文件将会被 LFS-Bootscripts 使用。

--with-shared --without-debug
--enable-multibyte
--enable-shared
--libexecdir=/usr/lib --enable-shared \
    --enable-threads=posix --enable-__cxa_atexit \
    --enable-clocale=gnu --enable-languages=c,c++

..........................
相关阅读 更多 +
排行榜 更多 +
全民格斗王-街霸

全民格斗王-街霸

动作格斗 下载
吐司壁纸

吐司壁纸

主题美化 下载
雷姆从零开始的异世界生活

雷姆从零开始的异世界生活

休闲益智 下载