提问:
安装原码程序时,都要执行三步:
1./configure但make时,需要什么?
cc和gcc又是什么?
那./buildxxx和buildinstall与./config、make、makeinstall又有何区别呢?
make和makeinstall中的mark是系统自带的命令还是可执行程序文件?。makeinstall中,是不是可以认为install是mark的参数?
./config是linux自带的吗?我一make,老提示我找不到核心类库
我為何不能執行./configure
一執行就提示permissiondenied.
我把.tar解压完成之后运行了./configure--prefix=/usr/local--with-nspr-includes=/usr/include/nspr--with-nspr-libs=/usr/lib--with-nss-includes=/usr/include/nss--with-nss-libs=/usr/lib
完成后
然后运行make就出最了.报告是:
[root@ldgaim]#make
make:***Notargetsspecifiedandnomakefilefound.Stop.
[root@ldgaim]#makeinstall
make:***Noruletomaketarget`install'.Stop.
我也有这个问题..怎么解决?
回答:
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本
make是用来编译的,它从Makefile中读取指令,然后编译。
makeinstall是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。如果你也写程序想使用AUTOMAKE和AUTOCONF,可以参考CNGNU.ORG上的相关文章。
cc是gcc的连接.gcc是编译器.
你安装的时候大概是没有选择开发工具.你自己到光盘上找一下gcc*吧.装上就行了.
install不是make的参数,而是再makefile(Makefile)中型如:install:的语句。如果用makeinstall,那么就执行install:后面的语句。
注册为root用户
看看你的系统什么了
如果是redhat
就用rpm-ikernel-sorce-version.rpm
去把linux的内核模块安装好就行了啊。。在linux的第二张盘里啊。
configure失败了,没有生成makefile文件,你的软件需要其他的软件,但目前没有其他的软件安装在系统上。
——这就是软件依赖性。Linux上装软件,最令人头痛的问题大概就是它了。
不少发行版都有自己的解决方式:
debian用apt+dpkg解决一个个deb包(别人打好包的软件)的依赖性。
fedora用yum+rpm解决一个个rpm包(同deb包,是另一种格式的包)的依赖性。
suse用yast+rpm解决一个个rpm包的依赖性。
而你尝试过gentoo后,会更清楚的认识到,通过源码编译软件是怎样的一回事。
gentoo的一个个ebuild文件里记录了软件的依赖关系,然后自动解决依赖关系,下载最底层的软件代码,自动编译安装。
而LFS更极端,所有的一切都人工完成,自己解决依赖性,自己下载代码,自己安装,官方只提供安装步骤的参考手册。