LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2268|回复: 12

gentoo:有没有什么办法可以让中断了的编译继续编译?

[复制链接]
发表于 2003-2-23 12:49:51 | 显示全部楼层 |阅读模式
今天在emerge XFREE4.2.99的时候,断电了几次,弄得我老得重新编译,而编译一个X又得花好多时间,不知道有没有什么办法可以让编译了一半的东西继续编译呢?
发表于 2003-2-23 13:23:02 | 显示全部楼层
emerge自己恐怕是不行。
发表于 2003-2-23 13:45:03 | 显示全部楼层
编译的东西都保存在/var/tmp/portage/xfree-4.2.99/work/下面,你可以在那个下面继续编译
但编译、安装、删除都需要手工操作
发表于 2003-2-23 14:05:01 | 显示全部楼层
cclnw是我们这里的资深gentoo大师,linuxsir最早安装gentoo的一批先驱之一。以后dalin兄有什么问题尽可以咬着他使劲儿问。HOHO
发表于 2003-2-23 14:11:16 | 显示全部楼层

使用ebuild

ebuild package /usr/portage/xxx/your-file.ebuild
ebuild install /usr/portage/packages/All/your-package
发表于 2003-2-23 19:52:15 | 显示全部楼层
if u want to resume a stopped compilation, just

ebuild /usr/portage/xxx/your-file.ebuild compile

or direct merge it using

ebuild /usr/portage/xxx/your-file.ebuild merge


In a word, the KEY is to use ebuild ,not emerge
发表于 2003-3-2 00:22:04 | 显示全部楼层
make的原則是已編譯為.o (obj)的文件,當原始程式碼未更新時,便不再重新編譯...當我們emerge 一半中斷時,在/var/tmp/portage/xxxx/work/
下的資料仍舊會保留著,所以只要再重新下指令 emerge xxxx
便會接續先前的emerge
當我們emerge 一半忽然想改變優化參數而 中斷時,也必需把這work刪除,再次重新emerge
发表于 2003-3-2 11:59:11 | 显示全部楼层
最初由 wic 发布
make的原則是已編譯為.o (obj)的文件,當原始程式碼未更新時,便不再重新編譯...當我們emerge 一半中斷時,在/var/tmp/portage/xxxx/work/
下的資料仍舊會保留著,所以只要再重新下指令 emerge xxxx
便會接續先前的emerge
當我們emerge 一半忽然想改變優化參數而 中斷時,也必需把這work刪除,再次重新emerge


好像不是这样的吧:如果直接使用 emerge xxxx,emerge 会自动删除 /var/tmp/portage/xxxx/work/ 目录的,所以要重新编译,你可以打开 emerge 的 -d 选项(debug),你就可以看到 emerge 在 unpack source 之前,就 rm /var/tmp/portage/xxxx/work/ -fr 了
发表于 2003-3-2 16:13:03 | 显示全部楼层
nod,不止是这样,手动编译的话,make world默认得就是先删掉以前的。所以xf86的文档里说得很清楚,这种情况应该用make everything
发表于 2003-3-2 23:55:28 | 显示全部楼层
這是我無意中觀察到的現像,編譯了xfree43...過了一陣子,我中斷他,修改了CFLAGS之後,再度重新emerge...過了幾分鐘之後...竟然emerge完成...所以得到這個結論...
今天在以gqview做個?驗.假設需要5分鐘,然而我卻在4分鐘時中斷.
再度重新emerge...大概也只需一分鐘便可emerge完成...
大家不仿做個?驗,仔細的觀察一下時間.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表