LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: ZDN

firefox 9.0 beta2 ebuild

[复制链接]
发表于 2011-11-27 10:00:41 | 显示全部楼层
最近更新大包,好像都碰到了内存问题,例如
  1. emerge -avu libreoffice
  2. These are the packages that would be merged, in order:
  3. Calculating dependencies... done!
  4. [ebuild     U  ] app-office/libreoffice-3.4.4.2-r1 [3.4.3.2-r1] USE="branding dbus eds gnome gstreamer gtk mysql nsplugin opengl python vba (-aqua) -binfilter -custom-cflags -debug -graphite -java -jemalloc% -kde (-kdeenablefinal) -odk -pdfimport -templates -test -webdav (-bash-completion%*) (-ldap%*)" LINGUAS="-de -en_GB -en_ZA -es -fr -hu -it" 240,193 kB
  5. Total: 1 package (1 upgrade), Size of downloads: 240,193 kB
  6. Would you like to merge these packages? [Yes/No] y
  7. >>> Verifying ebuild manifests
  8. >>> Running pre-merge checks for app-office/libreoffice-3.4.4.2-r1
  9. * Checking for at least 1 gibibytes RAM ...                                                            [ !! ]
  10. * There is NOT at least 1 gibibytes RAM
  11. * Checking for at least 9 gibibytes disk space at "/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp" ...                                                                                                       [ ok ]
  12. *
  13. * Space constrains set in the ebuild were not met!
  14. * The build will most probably fail, you should enhance the space
  15. * as per failed tests.
  16. *
  17. * ERROR: app-office/libreoffice-3.4.4.2-r1 failed (pretend phase):
  18. *   Build requirements not met!
  19. *
  20. * Call stack:
  21. *                       ebuild.sh, line  84:  Called pkg_pretend
  22. *   libreoffice-3.4.4.2-r1.ebuild, line 228:  Called check-reqs_pkg_pretend
  23. *               check-reqs.eclass, line 105:  Called check-reqs_pkg_setup
  24. *               check-reqs.eclass, line  96:  Called check-reqs_output
  25. *               check-reqs.eclass, line 237:  Called die
  26. * The specific snippet of code:
  27. *                   [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \
  28. *                           die "Build requirements not met!"
  29. *
  30. * If you need support, post the output of 'emerge --info =app-office/libreoffice-3.4.4.2-r1',
  31. * the complete build log and the output of 'emerge -pqv =app-office/libreoffice-3.4.4.2-r1'.
  32. !!! When you file a bug report, please include the following information:
  33. GENTOO_VM=  CLASSPATH="" JAVA_HOME="/etc/java-config-2/current-system-vm"
  34. JAVACFLAGS="" COMPILER=""
  35. and of course, the output of emerge --info
  36. * The complete build log is located at '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp/build.log'.
  37. * The ebuild environment file is located at '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp/die.env'.
  38. * S: '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2'
复制代码

在不加内存的情况下,如何通过编译的方式安装这些大包?
回复 支持 反对

使用道具 举报

发表于 2011-11-27 10:03:53 | 显示全部楼层
Post by easior lars;2156006
最近更新大包,好像都碰到了内存问题,例如

  1. emerge -avu libreoffice

  2. These are the packages that would be merged, in order:

  3. Calculating dependencies... done!
  4. [ebuild     U  ] app-office/libreoffice-3.4.4.2-r1 [3.4.3.2-r1] USE="branding dbus eds gnome gstreamer gtk mysql nsplugin opengl python vba (-aqua) -binfilter -custom-cflags -debug -graphite -java -jemalloc% -kde (-kdeenablefinal) -odk -pdfimport -templates -test -webdav (-bash-completion%*) (-ldap%*)" LINGUAS="-de -en_GB -en_ZA -es -fr -hu -it" 240,193 kB

  5. Total: 1 package (1 upgrade), Size of downloads: 240,193 kB

  6. Would you like to merge these packages? [Yes/No] y
  7. >>> Verifying ebuild manifests
  8. >>> Running pre-merge checks for app-office/libreoffice-3.4.4.2-r1
  9. * Checking for at least 1 gibibytes RAM ...                                                            [ !! ]
  10. * There is NOT at least 1 gibibytes RAM
  11. * Checking for at least 9 gibibytes disk space at "/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp" ...                                                                                                       [ ok ]
  12. *
  13. * Space constrains set in the ebuild were not met!
  14. * The build will most probably fail, you should enhance the space
  15. * as per failed tests.
  16. *
  17. * ERROR: app-office/libreoffice-3.4.4.2-r1 failed (pretend phase):
  18. *   Build requirements not met!
  19. *
  20. * Call stack:
  21. *                       ebuild.sh, line  84:  Called pkg_pretend
  22. *   libreoffice-3.4.4.2-r1.ebuild, line 228:  Called check-reqs_pkg_pretend
  23. *               check-reqs.eclass, line 105:  Called check-reqs_pkg_setup
  24. *               check-reqs.eclass, line  96:  Called check-reqs_output
  25. *               check-reqs.eclass, line 237:  Called die
  26. * The specific snippet of code:
  27. *                   [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \
  28. *                           die "Build requirements not met!"
  29. *
  30. * If you need support, post the output of 'emerge --info =app-office/libreoffice-3.4.4.2-r1',
  31. * the complete build log and the output of 'emerge -pqv =app-office/libreoffice-3.4.4.2-r1'.
  32. !!! When you file a bug report, please include the following information:
  33. GENTOO_VM=  CLASSPATH="" JAVA_HOME="/etc/java-config-2/current-system-vm"
  34. JAVACFLAGS="" COMPILER=""
  35. and of course, the output of emerge --info
  36. * The complete build log is located at '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp/build.log'.
  37. * The ebuild environment file is located at '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/temp/die.env'.
  38. * S: '/var/tmp/portage/app-office/libreoffice-3.4.4.2-r1/work/libreoffice-bootstrap-3.4.4.2'
复制代码


在不加内存的情况下,如何通过编译的方式安装这些大包?


IT人何苦为难电脑。
回复 支持 反对

使用道具 举报

发表于 2011-11-27 12:14:39 | 显示全部楼层
Post by easior lars;2155969
你对rar的描述我当然认真的拜读了。
只不过还不太习惯用split,
特别是附件上传的时候只认特殊的后缀名,
感觉直接使用rar非常省事。

关于firefox,加内存目前是有难度的;加swap的话,有没有动态的实现方法呢?
如果将-j改成-1可以吗?


  • 我个人想到的上策是改用*-bin包或者distcc。没有1GB内存编译这样庞大的包真是浪费时间。
  • 中策是用package.bashrc对大包使用MAKEOPTS="“和去除C(XX)FLAGS中的-pipe。具体使用方法请参见man portage中的package.bashrc部分。
  • 下策是使用一个大小可以自定义的swap file。这会使编译时间大幅上升。
    手动的方法: http://alexlurthu.wordpress.com/ ... -dynamic-swap-file/
    自动的方法(更慢): http://pqxx.org/development/swapspace/
    (ebuild在trauma overlay中)
  • 如果阁下非常勇敢,可以显存代替内存:
    http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swap
  • RAR算法本身是两个以色列科学家公开发布的,编成程序算法之后却被Alexander L. Roshal申请了专利,这件事情在道德上是大有问题的。使用RAR格式很有些助纣为虐的味道。7z和xz使用的LZMA系算法压缩率在RAR之上,如果没有特殊要求还是使用7z/xz较好。我之前已经提过,7z -v可以实现分卷压缩。
回复 支持 反对

使用道具 举报

发表于 2011-11-27 14:11:49 | 显示全部楼层
Post by RichardGv;2156010
  • 我个人想到的上策是改用*-bin包或者distcc。没有1GB内存编译这样庞大的包真是浪费时间。
  • 中策是用package.bashrc对大包使用MAKEOPTS="“和去除C(XX)FLAGS中的-pipe。具体使用方法请参见man portage中的package.bashrc部分。
  • 下策是使用一个大小可以自定义的swap file。这会使编译时间大幅上升。
    手动的方法: http://alexlurthu.wordpress.com/ ... -dynamic-swap-file/
    自动的方法(更慢): http://pqxx.org/development/swapspace/
    (ebuild在trauma overlay中)
  • 如果阁下非常勇敢,可以显存代替内存:
    http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swap
  • RAR算法本身是两个以色列科学家公开发布的,编成程序算法之后却被Alexander L. Roshal申请了专利,这件事情在道德上是大有问题的。使用RAR格式很有些助纣为虐的味道。7z和xz使用的LZMA系算法压缩率在RAR之上,如果没有特殊要求还是使用7z/xz较好。我之前已经提过,7z -v可以实现分卷压缩。


原来rar还有这么一个插曲,支持你的观点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-28 14:26:21 | 显示全部楼层
建议你先按照RichardGv的方法折腾下,可以的话,那就好。

折腾的没耐心就升级内存吧,内存怎么说便宜。
回复 支持 反对

使用道具 举报

发表于 2011-12-3 19:33:03 | 显示全部楼层
Post by RichardGv;2156010


  • 其实,我的内存正好1G,执行下述命令可知:
    1. $ free
    2.              total       used       free     shared    buffers     cached
    3. Mem:       1003188     954324      48864          0      61556     512388
    4. -/+ buffers/cache:     380380     622808
    5. Swap:       522076      50256     471820
    复制代码
    不过不知道为什么可用内存非常少?

  • 想使用中策,好像portage的手册中关于bashrc语焉不详。于是参考
    http://en.gentoo-wiki.com/wiki/Portage_TMPDIR_on_tmpfs
    使用portage.env,结果如下
    1. # emerge -auv libreoffice
    2. Would you like to merge these packages? [Yes/No] y
    3. >>> Verifying ebuild manifests
    4. >>> Running pre-merge checks for app-office/libreoffice-3.5.0.0
    5. * Checking for at least 1 gibibytes RAM ...                                                            [ !! ]
    6. * There is NOT at least 1 gibibytes RAM
    7. * Checking for at least 9 gibibytes disk space at "/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp" ...                                                                                                  [ ok ]
    8. *
    9. * Space constrains set in the ebuild were not met!
    10. * The build will most probably fail, you should enhance the space
    11. * as per failed tests.
    12. *
    13. * ERROR: app-office/libreoffice-3.5.0.0 failed (pretend phase):
    14. *   Build requirements not met!
    15. *
    16. * Call stack:
    17. *                    ebuild.sh, line  84:  Called pkg_pretend
    18. *   libreoffice-3.5.0.0.ebuild, line 209:  Called check-reqs_pkg_pretend
    19. *            check-reqs.eclass, line 105:  Called check-reqs_pkg_setup
    20. *            check-reqs.eclass, line  96:  Called check-reqs_output
    21. *            check-reqs.eclass, line 237:  Called die
    22. * The specific snippet of code:
    23. *                   [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \
    24. *                           die "Build requirements not met!"
    25. *
    26. * If you need support, post the output of 'emerge --info =app-office/libreoffice-3.5.0.0',
    27. * the complete build log and the output of 'emerge -pqv =app-office/libreoffice-3.5.0.0'.
    28. !!! When you file a bug report, please include the following information:
    29. GENTOO_VM=  CLASSPATH="" JAVA_HOME="/etc/java-config-2/current-system-vm"
    30. JAVACFLAGS="" COMPILER=""
    31. and of course, the output of emerge --info
    32. * The complete build log is located at '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp/build.log'.
    33. * The ebuild environment file is located at '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp/die.env'.
    34. * S: '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/work/libreoffice-core-3.5.0.0'
    复制代码

  • 你说的显卡参与编译不知是否指gpu?可惜我的是集成显卡。
回复 支持 反对

使用道具 举报

发表于 2011-12-3 21:05:10 | 显示全部楼层
Post by easior lars;2156471
  • 其实,我的内存正好1G,执行下述命令可知:

    1. $ free
    2.              total       used       free     shared    buffers     cached
    3. Mem:       1003188     954324      48864          0      61556     512388
    4. -/+ buffers/cache:     380380     622808
    5. Swap:       522076      50256     471820
    复制代码

    不过不知道为什么可用内存非常少?
  • 想使用中策,好像portage的手册中关于bashrc语焉不详。于是参考
    http://en.gentoo-wiki.com/wiki/Portage_TMPDIR_on_tmpfs
    使用portage.env,结果如下

    1. # emerge -auv libreoffice
    2. Would you like to merge these packages? [Yes/No] y
    3. >>> Verifying ebuild manifests
    4. >>> Running pre-merge checks for app-office/libreoffice-3.5.0.0
    5. * Checking for at least 1 gibibytes RAM ...                                                            [ !! ]
    6. * There is NOT at least 1 gibibytes RAM
    7. * Checking for at least 9 gibibytes disk space at "/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp" ...                                                                                                  [ ok ]
    8. *
    9. * Space constrains set in the ebuild were not met!
    10. * The build will most probably fail, you should enhance the space
    11. * as per failed tests.
    12. *
    13. * ERROR: app-office/libreoffice-3.5.0.0 failed (pretend phase):
    14. *   Build requirements not met!
    15. *
    16. * Call stack:
    17. *                    ebuild.sh, line  84:  Called pkg_pretend
    18. *   libreoffice-3.5.0.0.ebuild, line 209:  Called check-reqs_pkg_pretend
    19. *            check-reqs.eclass, line 105:  Called check-reqs_pkg_setup
    20. *            check-reqs.eclass, line  96:  Called check-reqs_output
    21. *            check-reqs.eclass, line 237:  Called die
    22. * The specific snippet of code:
    23. *                   [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && \
    24. *                           die "Build requirements not met!"
    25. *
    26. * If you need support, post the output of 'emerge --info =app-office/libreoffice-3.5.0.0',
    27. * the complete build log and the output of 'emerge -pqv =app-office/libreoffice-3.5.0.0'.
    28. !!! When you file a bug report, please include the following information:
    29. GENTOO_VM=  CLASSPATH="" JAVA_HOME="/etc/java-config-2/current-system-vm"
    30. JAVACFLAGS="" COMPILER=""
    31. and of course, the output of emerge --info
    32. * The complete build log is located at '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp/build.log'.
    33. * The ebuild environment file is located at '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/temp/die.env'.
    34. * S: '/var/tmp/notmpfs/portage/app-office/libreoffice-3.5.0.0/work/libreoffice-core-3.5.0.0'
    复制代码

  • 你说的显卡参与编译不知是否指gpu?可惜我的是集成显卡。


咦,libreoffice会这么智能的先判断内存和硬盘空间是否足够了呀?不过我其实更想要的是可以选择安装哪几个组件。。。

回到正题,Portage_TMPDIR_on_tmpfs是把内存当临时文件夹来使用,区区1G内存,编译firefox都不够用吧,就别妄想编译libreoffice这种了,人家都告诉你了,至少1G内存和9G临时空间。。。
回复 支持 反对

使用道具 举报

发表于 2011-12-4 08:57:53 | 显示全部楼层
Post by timemars;2156477
咦,libreoffice会这么智能的先判断内存和硬盘空间是否足够了呀?不过我其实更想要的是可以选择安装哪几个组件。。。

回到正题,Portage_TMPDIR_on_tmpfs是把内存当临时文件夹来使用,区区1G内存,编译firefox都不够用吧,就别妄想编译libreoffice这种了,人家都告诉你了,至少1G内存和9G临时空间。。。


Portage_TMPDIR_on_tmpfs原来不是将临时文件当内存啊,
我的鸟语水平堪忧阿。

另外,我的内存正好1G,难道不在至少1G之列?
9G的临时空间应当没有太大问题。

其实,我真正关心的是如何利用package.bashrc或者package.env?
回复 支持 反对

使用道具 举报

发表于 2011-12-4 10:16:03 | 显示全部楼层
Post by easior lars;2156493
Portage_TMPDIR_on_tmpfs原来不是将临时文件当内存啊,
我的鸟语水平堪忧阿。

另外,我的内存正好1G,难道不在至少1G之列?
9G的临时空间应当没有太大问题。

其实,我真正关心的是如何利用package.bashrc或者package.env?


我说的是假如你想用内存当临时文件夹的话,连firefox都编译不过去。

不过大多数包需要的临时空间都不大,把临时空间扔内存里,多多少少还是可以减少一些硬盘的读写吧。某些特别大的包就用package.env特殊处理就好了

至于package.env,请参考这贴http://www.linuxsir.cn/bbs/thread378368.html的8L。
回复 支持 反对

使用道具 举报

发表于 2011-12-4 10:42:18 | 显示全部楼层
Post by timemars;2156497
我说的是假如你想用内存当临时文件夹的话,连firefox都编译不过去。

不过大多数包需要的临时空间都不大,把临时空间扔内存里,多多少少还是可以减少一些硬盘的读写吧。某些特别大的包就用package.env特殊处理就好了

至于package.env,请参考这贴http://www.linuxsir.cn/bbs/thread378368.html的8L。

我需要的不是临时文件充当内存,
而是通过适当的方法减少对内存的依赖。
前面提到了package.bashrc的用法,
只是不知道如何使用?

显然,我的package.env没有写错,
其实gentoo wiki上的描述更为详细。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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