LinuxSir.cn,穿越时空的Linuxsir!

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

江湖救急啊!

[复制链接]
发表于 2012-2-6 12:41:30 | 显示全部楼层
Post by easior lars;2159660
按我的临时方法在emerge --sync之后,发现libpcre的版本已经成了dev-libs/libpcre-8.30-r2,真快啊,而且elogview确实也出现了revdep-rebuild --library '/lib/libpcre.so.0'。


顺便提一句,我运行“revdep-rebuild --library '/lib/libpcre.so.0'“之后,编译php过不去。不过不是什么大问题,大概明天更新的时候就会修复了。
回复 支持 反对

使用道具 举报

发表于 2012-2-6 18:42:12 | 显示全部楼层

  • 还是Portage-2.2-alpha*好啊,preserve-libs功能保证不会出现这种问题。
  • 另外,make.conf FEATURES变量中的buildsyspkg很值得打开,可以自动保留所有旧系统包的二进制包。不过libpcre恰巧不在@system中... 也可以考虑开buildpkg,但需要周期性eclean-pkg -d -t3d 。
回复 支持 反对

使用道具 举报

发表于 2012-2-6 22:33:33 | 显示全部楼层
Post by timemars;2159661
顺便提一句,我运行“revdep-rebuild --library '/lib/libpcre.so.0'“之后,编译php过不去。不过不是什么大问题,大概明天更新的时候就会修复了。


速度没有这么快啦。gentoo的bug站都没看到相关信息,还是arch的反应快。

https://bugs.php.net/bug.php?id=60986
回复 支持 反对

使用道具 举报

发表于 2012-2-7 09:01:59 | 显示全部楼层
Post by zhou3345;2159695
速度没有这么快啦。gentoo的bug站都没看到相关信息,还是arch的反应快。

https://bugs.php.net/bug.php?id=60986


呵呵,就是那么快。今天sync之后libpcre就降为8.21了,看ebuild,是php的DEPEND里加上<libpcre-8.30这一行。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-7 09:32:02 | 显示全部楼层
Post by timemars;2159718
呵呵,就是那么快。今天sync之后libpcre就降为8.21了,看ebuild,是php的DEPEND里加上<libpcre-8.30这一行。。。

我的妈妈啊!
昨天用ln 给libpcre建了个软连接,今天尝到恶果了。
执行完revdep-rebuild --library '/lib/libpcre.so.0'之后,发现
  1. # eix libpcre
  2. [u] dev-libs/libpcre
  3.      Available versions:  (3) 7.9-r1 8.02 8.12 (~)8.13 (~)8.13-r1 (~)8.20 (~)8.21 (~)8.30-r2
  4.         {bzip2 +cxx doc +jit pcre16 +readline +recursion-limit static-libs unicode zlib}
  5.      Installed versions:  8.21(3)(09时11分06秒 2012年02月07日)(bzip2 cxx jit readline recursion-limit unicode zlib -static-libs)
  6.      Homepage:            http://www.pcre.org/
  7.      Description:         Perl-compatible regular expression library
  8. # ls -al libpcre*
  9. lrwxrwxrwx 1 root root     16  2月  7 09:11 libpcre.so.0 -> libpcre.so.0.0.1
  10. -rwxr-xr-x 1 root root 374148  2月  7 09:11 libpcre.so.0.0.1
复制代码
又回到了昨天的窘境了,请看
  1. # emerge -avutDN world
  2. These are the packages that would be merged, in reverse order:
  3. Calculating dependencies... done!
  4. [nomerge       ] app-office/libreoffice-bin-3.4.3.2-r1  USE="gnome (-aqua) -java -kde"
  5. [nomerge       ]  dev-libs/redland-1.0.15  USE="berkdb mysql sqlite ssl xml -iodbc -odbc -postgres -static-libs"
  6. [nomerge       ]   dev-libs/rasqal-0.9.28  USE="crypt mhash pcre xml -doc -gmp -static-libs -test"
  7. [ebuild     U  ]    dev-libs/libpcre-8.30-r2 [8.21] USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -pcre16% -static-libs" 0 kB
  8. Total: 1 package (1 upgrade), Size of downloads: 0 kB
  9. Would you like to merge these packages? [Yes/No] y
  10. >>> Verifying ebuild manifests
  11. >>> Emerging (1 of 1) dev-libs/libpcre-8.30-r2
  12. * pcre-8.30.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                     [ ok ]
  13. >>> Unpacking source...
  14. >>> Unpacking pcre-8.30.tar.bz2 to /var/tmp/portage/dev-libs/libpcre-8.30-r2/work
  15. >>> Source unpacked in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work
  16. >>> Preparing source in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30 ...
  17. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  18. * Running elibtoolize in: pcre-8.30/
  19. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  20. *   Applying portage/1.2.0 patch ...
  21. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  22. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  23. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  24. *   Applying sed/1.5.6 patch ...
  25. *   Applying as-needed/2.2.6 patch ...
  26. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  27. >>> Source prepared.
  28. >>> Configuring source in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30 ...
  29. * econf: updating pcre-8.30/config.sub with /usr/share/gnuconfig/config.sub
  30. * econf: updating pcre-8.30/config.guess with /usr/share/gnuconfig/config.guess
  31. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  32. ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-match-limit-recursion=8192 --enable-pcregrep-libbz2 --enable-cpp --enable-jit --enable-pcregrep-jit --disable-pcre16 --enable-pcretest-libreadline --disable-static --enable-utf --enable-unicode-properties --enable-pcregrep-libz --enable-pcre8 --enable-shared --htmldir=/usr/share/doc/libpcre-8.30-r2/html --docdir=/usr/share/doc/libpcre-8.30-r2
  33. checking for a BSD-compatible install... /usr/bin/install -c
  34. checking whether build environment is sane... yes
  35. checking for a thread-safe mkdir -p... /bin/mkdir -p
  36. checking for gawk... gawk
  37. checking whether make sets $(MAKE)... yes
  38. checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
  39. checking whether the C compiler works... yes
  40. checking for C compiler default output file name... a.out
  41. checking for suffix of executables...
  42. checking whether we are cross compiling... no
  43. checking for suffix of object files... o
  44. checking whether we are using the GNU C compiler... yes
  45. checking whether i686-pc-linux-gnu-gcc accepts -g... yes
  46. checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
  47. checking for style of include used by make... GNU
  48. checking dependency style of i686-pc-linux-gnu-gcc... none
  49. checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
  50. checking whether we are using the GNU C++ compiler... yes
  51. checking whether i686-pc-linux-gnu-g++ accepts -g... yes
  52. checking dependency style of i686-pc-linux-gnu-g++... none
  53. checking how to run the C preprocessor... grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  54. i686-pc-linux-gnu-gcc -E
  55. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  56. checking for grep that handles long lines and -e... configure: error: no acceptable grep could be found in /usr/lib/portage/bin/ebuild-helpers/4:/usr/lib/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.5.3:/usr/lib/subversion/bin:/usr/xpg4/bin
  57. !!! Please attach the following file when seeking support:
  58. !!! /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30/config.log
  59. * ERROR: dev-libs/libpcre-8.30-r2 failed (configure phase):
  60. *   econf failed
  61. *
  62. * Call stack:
  63. *          ebuild.sh, line   85:  Called src_configure
  64. *        environment, line 2767:  Called econf '--with-match-limit-recursion=8192' '--enable-pcregrep-libbz2' '--enable-cpp' '--enable-jit' '--enable-pcregrep-jit' '--disable-pcre16' '--enable-pcretest-libreadline' '--disable-static' '--enable-utf' '--enable-unicode-properties' '--enable-pcregrep-libz' '--enable-pcre8' '--enable-shared' '--htmldir=/usr/share/doc/libpcre-8.30-r2/html' '--docdir=/usr/share/doc/libpcre-8.30-r2'
  65. *   phase-helpers.sh, line  467:  Called die
  66. * The specific snippet of code:
  67. *                           die "econf failed"
  68. *
  69. * If you need support, post the output of 'emerge --info =dev-libs/libpcre-8.30-r2',
  70. * the complete build log and the output of 'emerge -pqv =dev-libs/libpcre-8.30-r2'.
  71. * The complete build log is located at '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/build.log'.
  72. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/environment'.
  73. * S: '/var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30'
  74. >>> Failed to emerge dev-libs/libpcre-8.30-r2, Log file:
  75. >>>  '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/build.log'
复制代码
为了修复,尝试了如下的方法:
  1. # USE="-pcre" emerge -avutDN world
  2. These are the packages that would be merged, in reverse order:
  3. Calculating dependencies... done!
  4. [nomerge       ] app-office/libreoffice-bin-3.4.3.2-r1  USE="gnome (-aqua) -java -kde"
  5. [nomerge       ]  dev-libs/redland-1.0.15  USE="berkdb mysql sqlite ssl xml -iodbc -odbc -postgres -static-libs"
  6. [ebuild   R    ]   dev-libs/rasqal-0.9.28  USE="crypt mhash xml -doc -gmp -pcre* -static-libs -test" 0 kB
  7. [ebuild   R    ] sys-apps/grep-2.10  USE="nls -pcre*" 0 kB
  8. [ebuild   R    ] app-admin/syslog-ng-3.2.5  USE="ipv6 ssl tcpd -caps -hardened -pcre* (-selinux) -spoof-source -sql" 0 kB
  9. [nomerge       ] www-servers/apache-2.2.21-r1  USE="ldap ssl threads -debug -doc (-selinux) -static -suexec" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias -asis -auth_digest -authn_dbd -cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -proxy_scgi -reqtimeout -substitute -version" APACHE2_MPMS="-event -itk -peruser -prefork -worker"
  10. [nomerge       ]  app-admin/apache-tools-2.2.21  USE="ssl"
  11. [ebuild     U  ]   dev-libs/libpcre-8.30-r2 [8.21] USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -pcre16% -static-libs" 0 kB
  12. [ebuild   R    ] sys-apps/less-445-r1  USE="unicode -pcre*" 0 kB
  13. Total: 5 packages (1 upgrade, 4 reinstalls), Size of downloads: 0 kB
  14. Would you like to merge these packages? [Yes/No] y
  15. >>> Verifying ebuild manifests
  16. >>> Starting parallel fetch
  17. >>> Emerging (1 of 5) sys-apps/less-445-r1
  18. * less-445.tar.gz RMD160 SHA1 SHA256 size ;-) ...                       [ ok ]
  19. * code2color RMD160 SHA1 SHA256 size ;-) ...                            [ ok ]
  20. >>> Unpacking source...
  21. >>> Unpacking less-445.tar.gz to /var/tmp/portage/sys-apps/less-445-r1/work
  22. >>> Source unpacked in /var/tmp/portage/sys-apps/less-445-r1/work
  23. >>> Preparing source in /var/tmp/portage/sys-apps/less-445-r1/work/less-445 ...
  24. * Applying code2color.patch ...                                         [ ok ]
  25. >>> Source prepared.
  26. >>> Configuring source in /var/tmp/portage/sys-apps/less-445-r1/work/less-445 ...
  27. ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-regex=posix --with-editor=/usr/libexec/editor
  28. checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
  29. checking whether the C compiler works... yes
  30. checking for C compiler default output file name... a.out
  31. checking for suffix of executables...
  32. checking whether we are cross compiling... no
  33. checking for suffix of object files... o
  34. checking whether we are using the GNU C compiler... yes
  35. checking whether i686-pc-linux-gnu-gcc accepts -g... yes
  36. checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
  37. checking for library containing strerror... none required
  38. checking how to run the C preprocessor... grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  39. i686-pc-linux-gnu-gcc -E
  40. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  41. checking for grep that handles long lines and -e... configure: error: no acceptable grep could be found in /usr/lib/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.5.3:/usr/lib/subversion/bin:/usr/xpg4/bin
  42. !!! Please attach the following file when seeking support:
  43. !!! /var/tmp/portage/sys-apps/less-445-r1/work/less-445/config.log
  44. * ERROR: sys-apps/less-445-r1 failed (configure phase):
  45. *   econf failed
  46. *
  47. * Call stack:
  48. *          ebuild.sh, line   85:  Called src_configure
  49. *        environment, line 2089:  Called econf '--with-regex=posix' '--with-editor=/usr/libexec/editor'
  50. *   phase-helpers.sh, line  467:  Called die
  51. * The specific snippet of code:
  52. *                           die "econf failed"
  53. *
  54. * If you need support, post the output of 'emerge --info =sys-apps/less-445-r1',
  55. * the complete build log and the output of 'emerge -pqv =sys-apps/less-445-r1'.
  56. * The complete build log is located at '/var/tmp/portage/sys-apps/less-445-r1/temp/build.log'.
  57. * The ebuild environment file is located at '/var/tmp/portage/sys-apps/less-445-r1/temp/environment'.
  58. * S: '/var/tmp/portage/sys-apps/less-445-r1/work/less-445'
  59. >>> Failed to emerge sys-apps/less-445-r1, Log file:
  60. >>>  '/var/tmp/portage/sys-apps/less-445-r1/temp/build.log'
复制代码
这下不敢妄动系统的文件了。

请高手指点!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-7 09:44:02 | 显示全部楼层
Post by timemars;2159661
顺便提一句,我运行“revdep-rebuild --library '/lib/libpcre.so.0'“之后,编译php过不去。不过不是什么大问题,大概明天更新的时候就会修复了。


其实不光php编不过去,apache2、octave也无法编译!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-7 09:50:09 | 显示全部楼层
再求libpcre.so.0以及 ls -al libpcre*的具体信息!
回复 支持 反对

使用道具 举报

发表于 2012-2-7 10:45:54 | 显示全部楼层
Post by timemars;2159718
呵呵,就是那么快。今天sync之后libpcre就降为8.21了,看ebuild,是php的DEPEND里加上<libpcre-8.30这一行。。。

你这是mask,不是patch。
https://bugs.gentoo.org/show_bug.cgi?id=402357

没办法,自己改了个ebuild:
https://github.com/transtone/zm-overlay/tree/master/dev-lang/php
回复 支持 反对

使用道具 举报

发表于 2012-2-7 11:18:44 | 显示全部楼层
Post by easior lars;2159721
我的妈妈啊!
昨天用ln 给libpcre建了个软连接,今天尝到恶果了。
执行完revdep-rebuild --library '/lib/libpcre.so.0'之后,发现

  1. # eix libpcre
  2. [u] dev-libs/libpcre
  3.      Available versions:  (3) 7.9-r1 8.02 8.12 (~)8.13 (~)8.13-r1 (~)8.20 (~)8.21 (~)8.30-r2
  4.         {bzip2 +cxx doc +jit pcre16 +readline +recursion-limit static-libs unicode zlib}
  5.      Installed versions:  8.21(3)(09时11分06秒 2012年02月07日)(bzip2 cxx jit readline recursion-limit unicode zlib -static-libs)
  6.      Homepage:            http://www.pcre.org/
  7.      Description:         Perl-compatible regular expression library

  8. # ls -al libpcre*
  9. lrwxrwxrwx 1 root root     16  2月  7 09:11 libpcre.so.0 -> libpcre.so.0.0.1
  10. -rwxr-xr-x 1 root root 374148  2月  7 09:11 libpcre.so.0.0.1
复制代码

又回到了昨天的窘境了,请看

  1. # emerge -avutDN world

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

  3. Calculating dependencies... done!
  4. [nomerge       ] app-office/libreoffice-bin-3.4.3.2-r1  USE="gnome (-aqua) -java -kde"
  5. [nomerge       ]  dev-libs/redland-1.0.15  USE="berkdb mysql sqlite ssl xml -iodbc -odbc -postgres -static-libs"
  6. [nomerge       ]   dev-libs/rasqal-0.9.28  USE="crypt mhash pcre xml -doc -gmp -static-libs -test"
  7. [ebuild     U  ]    dev-libs/libpcre-8.30-r2 [8.21] USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -pcre16% -static-libs" 0 kB

  8. Total: 1 package (1 upgrade), Size of downloads: 0 kB

  9. Would you like to merge these packages? [Yes/No] y

  10. >>> Verifying ebuild manifests

  11. >>> Emerging (1 of 1) dev-libs/libpcre-8.30-r2
  12. * pcre-8.30.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                     [ ok ]
  13. >>> Unpacking source...
  14. >>> Unpacking pcre-8.30.tar.bz2 to /var/tmp/portage/dev-libs/libpcre-8.30-r2/work
  15. >>> Source unpacked in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work
  16. >>> Preparing source in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30 ...
  17. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  18. * Running elibtoolize in: pcre-8.30/
  19. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  20. *   Applying portage/1.2.0 patch ...
  21. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  22. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  23. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  24. *   Applying sed/1.5.6 patch ...
  25. *   Applying as-needed/2.2.6 patch ...
  26. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  27. >>> Source prepared.
  28. >>> Configuring source in /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30 ...
  29. * econf: updating pcre-8.30/config.sub with /usr/share/gnuconfig/config.sub
  30. * econf: updating pcre-8.30/config.guess with /usr/share/gnuconfig/config.guess
  31. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  32. ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-match-limit-recursion=8192 --enable-pcregrep-libbz2 --enable-cpp --enable-jit --enable-pcregrep-jit --disable-pcre16 --enable-pcretest-libreadline --disable-static --enable-utf --enable-unicode-properties --enable-pcregrep-libz --enable-pcre8 --enable-shared --htmldir=/usr/share/doc/libpcre-8.30-r2/html --docdir=/usr/share/doc/libpcre-8.30-r2
  33. checking for a BSD-compatible install... /usr/bin/install -c
  34. checking whether build environment is sane... yes
  35. checking for a thread-safe mkdir -p... /bin/mkdir -p
  36. checking for gawk... gawk
  37. checking whether make sets $(MAKE)... yes
  38. checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
  39. checking whether the C compiler works... yes
  40. checking for C compiler default output file name... a.out
  41. checking for suffix of executables...
  42. checking whether we are cross compiling... no
  43. checking for suffix of object files... o
  44. checking whether we are using the GNU C compiler... yes
  45. checking whether i686-pc-linux-gnu-gcc accepts -g... yes
  46. checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
  47. checking for style of include used by make... GNU
  48. checking dependency style of i686-pc-linux-gnu-gcc... none
  49. checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
  50. checking whether we are using the GNU C++ compiler... yes
  51. checking whether i686-pc-linux-gnu-g++ accepts -g... yes
  52. checking dependency style of i686-pc-linux-gnu-g++... none
  53. checking how to run the C preprocessor... grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  54. i686-pc-linux-gnu-gcc -E
  55. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  56. checking for grep that handles long lines and -e... configure: error: no acceptable grep could be found in /usr/lib/portage/bin/ebuild-helpers/4:/usr/lib/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.5.3:/usr/lib/subversion/bin:/usr/xpg4/bin

  57. !!! Please attach the following file when seeking support:
  58. !!! /var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30/config.log
  59. * ERROR: dev-libs/libpcre-8.30-r2 failed (configure phase):
  60. *   econf failed
  61. *
  62. * Call stack:
  63. *          ebuild.sh, line   85:  Called src_configure
  64. *        environment, line 2767:  Called econf '--with-match-limit-recursion=8192' '--enable-pcregrep-libbz2' '--enable-cpp' '--enable-jit' '--enable-pcregrep-jit' '--disable-pcre16' '--enable-pcretest-libreadline' '--disable-static' '--enable-utf' '--enable-unicode-properties' '--enable-pcregrep-libz' '--enable-pcre8' '--enable-shared' '--htmldir=/usr/share/doc/libpcre-8.30-r2/html' '--docdir=/usr/share/doc/libpcre-8.30-r2'
  65. *   phase-helpers.sh, line  467:  Called die
  66. * The specific snippet of code:
  67. *                           die "econf failed"
  68. *
  69. * If you need support, post the output of 'emerge --info =dev-libs/libpcre-8.30-r2',
  70. * the complete build log and the output of 'emerge -pqv =dev-libs/libpcre-8.30-r2'.
  71. * The complete build log is located at '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/build.log'.
  72. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/environment'.
  73. * S: '/var/tmp/portage/dev-libs/libpcre-8.30-r2/work/pcre-8.30'

  74. >>> Failed to emerge dev-libs/libpcre-8.30-r2, Log file:

  75. >>>  '/var/tmp/portage/dev-libs/libpcre-8.30-r2/temp/build.log'
复制代码

为了修复,尝试了如下的方法:

  1. # USE="-pcre" emerge -avutDN world

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

  3. Calculating dependencies... done!
  4. [nomerge       ] app-office/libreoffice-bin-3.4.3.2-r1  USE="gnome (-aqua) -java -kde"
  5. [nomerge       ]  dev-libs/redland-1.0.15  USE="berkdb mysql sqlite ssl xml -iodbc -odbc -postgres -static-libs"
  6. [ebuild   R    ]   dev-libs/rasqal-0.9.28  USE="crypt mhash xml -doc -gmp -pcre* -static-libs -test" 0 kB
  7. [ebuild   R    ] sys-apps/grep-2.10  USE="nls -pcre*" 0 kB
  8. [ebuild   R    ] app-admin/syslog-ng-3.2.5  USE="ipv6 ssl tcpd -caps -hardened -pcre* (-selinux) -spoof-source -sql" 0 kB
  9. [nomerge       ] www-servers/apache-2.2.21-r1  USE="ldap ssl threads -debug -doc (-selinux) -static -suexec" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias -asis -auth_digest -authn_dbd -cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -proxy_scgi -reqtimeout -substitute -version" APACHE2_MPMS="-event -itk -peruser -prefork -worker"
  10. [nomerge       ]  app-admin/apache-tools-2.2.21  USE="ssl"
  11. [ebuild     U  ]   dev-libs/libpcre-8.30-r2 [8.21] USE="bzip2 cxx jit readline recursion-limit (unicode) zlib -pcre16% -static-libs" 0 kB
  12. [ebuild   R    ] sys-apps/less-445-r1  USE="unicode -pcre*" 0 kB

  13. Total: 5 packages (1 upgrade, 4 reinstalls), Size of downloads: 0 kB

  14. Would you like to merge these packages? [Yes/No] y

  15. >>> Verifying ebuild manifests

  16. >>> Starting parallel fetch

  17. >>> Emerging (1 of 5) sys-apps/less-445-r1
  18. * less-445.tar.gz RMD160 SHA1 SHA256 size ;-) ...                       [ ok ]
  19. * code2color RMD160 SHA1 SHA256 size ;-) ...                            [ ok ]
  20. >>> Unpacking source...
  21. >>> Unpacking less-445.tar.gz to /var/tmp/portage/sys-apps/less-445-r1/work
  22. >>> Source unpacked in /var/tmp/portage/sys-apps/less-445-r1/work
  23. >>> Preparing source in /var/tmp/portage/sys-apps/less-445-r1/work/less-445 ...
  24. * Applying code2color.patch ...                                         [ ok ]
  25. >>> Source prepared.
  26. >>> Configuring source in /var/tmp/portage/sys-apps/less-445-r1/work/less-445 ...
  27. ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-regex=posix --with-editor=/usr/libexec/editor
  28. checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
  29. checking whether the C compiler works... yes
  30. checking for C compiler default output file name... a.out
  31. checking for suffix of executables...
  32. checking whether we are cross compiling... no
  33. checking for suffix of object files... o
  34. checking whether we are using the GNU C compiler... yes
  35. checking whether i686-pc-linux-gnu-gcc accepts -g... yes
  36. checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
  37. checking for library containing strerror... none required
  38. checking how to run the C preprocessor... grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  39. i686-pc-linux-gnu-gcc -E
  40. grep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
  41. checking for grep that handles long lines and -e... configure: error: no acceptable grep could be found in /usr/lib/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.5.3:/usr/lib/subversion/bin:/usr/xpg4/bin

  42. !!! Please attach the following file when seeking support:
  43. !!! /var/tmp/portage/sys-apps/less-445-r1/work/less-445/config.log
  44. * ERROR: sys-apps/less-445-r1 failed (configure phase):
  45. *   econf failed
  46. *
  47. * Call stack:
  48. *          ebuild.sh, line   85:  Called src_configure
  49. *        environment, line 2089:  Called econf '--with-regex=posix' '--with-editor=/usr/libexec/editor'
  50. *   phase-helpers.sh, line  467:  Called die
  51. * The specific snippet of code:
  52. *                           die "econf failed"
  53. *
  54. * If you need support, post the output of 'emerge --info =sys-apps/less-445-r1',
  55. * the complete build log and the output of 'emerge -pqv =sys-apps/less-445-r1'.
  56. * The complete build log is located at '/var/tmp/portage/sys-apps/less-445-r1/temp/build.log'.
  57. * The ebuild environment file is located at '/var/tmp/portage/sys-apps/less-445-r1/temp/environment'.
  58. * S: '/var/tmp/portage/sys-apps/less-445-r1/work/less-445'

  59. >>> Failed to emerge sys-apps/less-445-r1, Log file:

  60. >>>  '/var/tmp/portage/sys-apps/less-445-r1/temp/build.log'
复制代码

这下不敢妄动系统的文件了。

请高手指点!


很理所当然呀,libpcre降级到8.21,那libpcre.so.1就被干掉了,于是就会有一堆依赖它的包不正常。先手动做一个链接:
  1. ln -s libpcre.so.0 libpcre.so.1
复制代码

然后emerge -uvaDN world,emerge -ac,revdep-rebuild三板斧,都弄好之后再运行:
  1. revdep-rebuild --library '[color=red]/lib/libpcre.so.1[/color]'
复制代码

把依赖libpcre.so.1的那些包都转为依赖libpcre.so.0,最后删掉libpcre.so.1这个链接就好了。
回复 支持 反对

使用道具 举报

发表于 2012-2-7 12:36:55 | 显示全部楼层
Post by easior lars;2159721
我的妈妈啊!
昨天用ln 给libpcre建了个软连接,今天尝到恶果了。
执行完revdep-rebuild --library '/lib/libpcre.so.0'之后,发现


  • 您太草率了,不稳定分枝中有很多这种情况。核心包的升级/降级最好要等ebuild出现两三天之后再做。
  • 第一步的解救方法,请按timemars指出的做软链接。
  • 第二步我的建议是立刻升Portage-2.2(目前是2.2.0_alpha85,需要在/etc/portage/package.keywords中做个手脚),不要revdep-rebuild。portage-2.2有preserve-libs功能,默认开启,可以保留仍然被使用的旧版本库文件,而在一段时间内不做revdep-rebuild。尽管名义上是alpha版但相当稳定。

    接下来用quickpkg备份libpcre-8.21,以防万一:
    1. quickpkg libpcre
    复制代码


    接着无视依赖强制升级libpcre: (-O 就是--nodeps,无视依赖安装任何包)
    1. emerge -O1 '=dev-libs/libpcre-8.30-r2'
    复制代码


    然后就高枕无忧了... 下一次emerge -uD @world时,portage会将libpcre再次降级到8.21,照做就好。Portage-2.2的preserve-libs应该会自动保留'=dev-libs/libpcre-8.30-r2'提供的libpcre.so.1.0.0,因此不会导致日后编译出错。revdep-rebuild或者emerge @preserved-rebuild都不需要,因为php等少数几个依赖=dev-libs/libpcre-8.21的包很快就会支持=dev-libs/libpcre-8.30-r2,这样现在省去了很多时间,日后再次升级到8.30时重新编译100多个包的麻烦也消除了。
  • 再次建议在/etc/make.conf FEATURES变量中打开buildsyspkg/buildpkg,具体原因请参见我的上一个回复。(另外为什么我发现您倾向于无视我的回复...)
回复 支持 反对

使用道具 举报

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

本版积分规则

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