使用emerge工具总是出错没办法,只好手工操作。
1、准备/usr/portage/dev-libs/ace/ace-5.7.2.ebuild的补丁ace-5.7.2.ebuild.patch:
2、使用下面的ace-5.7.2.ebuild.sh的脚本:
3、ace-5.7.2.ebuild.sh的脚本说明:
把之前安装的ace-5.7.2清除掉,这是因为直接使用emerge出错产生的垃圾文件;
如果没有把ACE-5.7.2.tar.bz2下载到中,那么得下载;
现在可以解ACE-5.7.2.tar.bz2压缩包了;
因为要修改/usr/portage/dev-libs/ace/ace-5.7.2.ebuild这个文件,先备份下,避免以后使用emerge安装或者同步portage的时候验证出错;
打上补丁,修改下/usr/portage/dev-libs/ace/ace-5.7.2.ebuild,出错的地方总是由于ace的example,至于test没必要用吧,或者如果不是5.7.2的版本,也可以自己修改ace/config.h和include/makeinclude/platform_macro.GNU文件,当然如果用ebuild compile的话还是不要修改了,它会自己生成这两个文件,当然也可以自己手工生成咯。
编译整个包了,使用--skip-manifest,是由于修改了/usr/portage/dev-libs/ace/ace-5.7.2.ebuild,如果不加上ebuild会验证这个文件,肯定发现内容不对头了,当然可以使用 修改/usr/portage/dev-libs/ace/Manifest,问题是下次同步portage的时候会报告错误的,至于这里修改/usr/portage/dev-libs/ace/ace-5.7.2.ebuild了,后面会恢复过来;
这下生成了安装的镜象image啦,不过还没有真的安装,假的啦,还是在/var/tmp/portage目录下
这个才是真正的把ace安装到/usr/include和/usr/lib目录下
吃完了,当然要抹干净了,这个是清除/var/tmp/portage目录下内容
恢复/usr/portage/dev-libs/ace/ace-5.7.2.ebuild这个文件,原因前面说了
当然,要是想把ACE从系统清除掉用下面这个命令吧:
哦, 上面的ebuid这个动作是不是跟emerge操作很类似呢?