LinuxSir.cn,穿越时空的Linuxsir!

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

江湖救急啊!

[复制链接]
发表于 2012-2-6 11:06:26 | 显示全部楼层 |阅读模式
昨天看到wayland-1.0放出来了,一时心血来潮,想试试wayland,
于是一口气加了gnome、x11等overlay。
然后emerge了一堆包:
wayland-9999、mesa-9999、libxcbcommon-9999等。
wayland没看啥动静(不想装演示用的weston,又不知道怎么用wayland),
今天早上发现git不能用了,甚至layman -S、revdep-rebuild等都不能用了。
原来少了libpcre.so.0,也即
  1. # cd /usr/bin/
  2. # ldd git
  3.         linux-gate.so.1 =>  (0xb7839000)
  4.         libpcre.so.0 => not found
  5.         libz.so.1 => /lib/libz.so.1 (0xb7804000)
  6.         libpthread.so.0 => /lib/libpthread.so.0 (0xb77ea000)
  7.         libc.so.6 => /lib/libc.so.6 (0xb7686000)
  8.         /lib/ld-linux.so.2 (0xb783a000)
复制代码
尝试emerge -av1 libpcre也以失败告终。

现期盼大侠传一份libpre.so.0来救急,最好告知安装路径!
谢谢。
发表于 2012-2-6 11:17:12 | 显示全部楼层
emerge dev-libs/libpcre 不就可以了吗。

不是 libpre 是 libpcre.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-6 11:24:49 | 显示全部楼层
Post by zhou3345;2159648
emerge dev-libs/libpcre 不就可以了吗。

不是 libpre 是 libpcre.


其实,我前面已经提到过了,给出结果:

  1. # emerge dev-libs/libpcre
  2. Calculating dependencies... done!

  3. >>> Verifying ebuild manifests

  4. >>> Emerging (1 of 1) dev-libs/libpcre-8.30
  5. * pcre-8.30.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                     [ ok ]
  6. >>> Unpacking source...
  7. >>> Unpacking pcre-8.30.tar.bz2 to /var/tmp/portage/dev-libs/libpcre-8.30/work
  8. >>> Source unpacked in /var/tmp/portage/dev-libs/libpcre-8.30/work
  9. >>> Preparing source in /var/tmp/portage/dev-libs/libpcre-8.30/work/pcre-8.30 ...
  10. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  11. * Running elibtoolize in: pcre-8.30/
  12. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  13. *   Applying portage/1.2.0 patch ...
  14. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  15. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  16. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  17. *   Applying sed/1.5.6 patch ...
  18. *   Applying as-needed/2.2.6 patch ...
  19. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  20. >>> Source prepared.
  21. >>> Configuring source in /var/tmp/portage/dev-libs/libpcre-8.30/work/pcre-8.30 ...
  22. * econf: updating pcre-8.30/config.sub with /usr/share/gnuconfig/config.sub
  23. * econf: updating pcre-8.30/config.guess with /usr/share/gnuconfig/config.guess
  24. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  25. ./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-utf8 --enable-unicode-properties --enable-cpp --enable-pcregrep-libz --enable-pcregrep-libbz2 --disable-static --enable-jit --enable-pcregrep-jit --enable-pcretest-libreadline --enable-shared --htmldir=/usr/share/doc/libpcre-8.30/html --docdir=/usr/share/doc/libpcre-8.30
  26. checking for a BSD-compatible install... /usr/bin/install -c
  27. checking whether build environment is sane... yes
  28. checking for a thread-safe mkdir -p... /bin/mkdir -p
  29. checking for gawk... gawk
  30. checking whether make sets $(MAKE)... yes
  31. checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
  32. checking whether the C compiler works... yes
  33. checking for C compiler default output file name... a.out
  34. checking for suffix of executables...
  35. checking whether we are cross compiling... no
  36. checking for suffix of object files... o
  37. checking whether we are using the GNU C compiler... yes
  38. checking whether i686-pc-linux-gnu-gcc accepts -g... yes
  39. checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
  40. checking for style of include used by make... GNU
  41. checking dependency style of i686-pc-linux-gnu-gcc... none
  42. checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
  43. checking whether we are using the GNU C++ compiler... yes
  44. checking whether i686-pc-linux-gnu-g++ accepts -g... yes
  45. checking dependency style of i686-pc-linux-gnu-g++... none
  46. checking how to run the C preprocessor... grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  47. i686-pc-linux-gnu-gcc -E
  48. grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
  49. 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

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

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

  68. >>>  '/var/tmp/portage/dev-libs/libpcre-8.30/temp/build.log'
复制代码
回复 支持 反对

使用道具 举报

发表于 2012-2-6 11:34:52 | 显示全部楼层
这里只提到了 grep 错误,试试 USE="-pcre" emerge grep 然后再安装 libpcre 试试看?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-6 11:43:33 | 显示全部楼层
Post by zhou3345;2159653
这里只提到了 grep 错误,试试 USE="-pcre" emerge grep 然后再安装 libpcre 试试看?


还是无法emerge,为了看到libpcre.so.0库的重要性,请看

  1. # equery d libpcre
  2. * These packages depend on libpcre:
  3. app-admin/apache-tools-2.2.21 (dev-libs/libpcre)
  4. app-admin/syslog-ng-3.2.5 (pcre ? dev-libs/libpcre)
  5. app-portage/g-ctan-2011.1 (>=dev-libs/libpcre-0.7.6)
  6. app-text/stardict-3.0.3-r2 (tools ? dev-libs/libpcre)
  7. dev-lang/php-5.4.0_rc7 (>=dev-libs/libpcre-8.12[unicode])
  8. dev-lang/swig-2.0.4-r1 (pcre ? dev-libs/libpcre)
  9. dev-libs/rasqal-0.9.28 (pcre ? dev-libs/libpcre)
  10. dev-vcs/git-1.7.8.4 (perl ? dev-libs/libpcre)
  11. sci-mathematics/octave-3.6.0 (dev-libs/libpcre)
  12. sys-apps/grep-2.10 (pcre ? >=dev-libs/libpcre-7.8-r1)
  13. sys-apps/less-445-r1 (pcre ? dev-libs/libpcre)
  14. www-servers/apache-2.2.21-r1 (dev-libs/libpcre)
复制代码


哎,看来overlay还是比较危险的,莫名其妙地就把libpcre.so.0给删去了。
回复 支持 反对

使用道具 举报

发表于 2012-2-6 11:55:56 | 显示全部楼层
其实跟overlay没啥关系,看一下libpcre这个包的changelog:
http://sources.gentoo.org/cgi-bi ... angeLog?view=markup

在2月5日接连发了三个ebuild,尤其是最后一个,libpcre-8.30-r2,写的是“Revbump to add preserve old lib support and remove old.”。大概就是出了问题打上补丁的。

由于早上停电,我emerge --sync的时候,libpcre已经是8.30-r2了,emerge完之后有提示运行"revdep-rebuild --library '/lib64/libpcre.so.0'"来修复,重新emerge了几个包。不清楚较早的另外两个版本有没有提示你运行revdep-rebuild。。。
回复 支持 反对

使用道具 举报

发表于 2012-2-6 12:09:18 | 显示全部楼层
Post by easior lars;2159654
还是无法emerge,为了看到libpcre.so.0库的重要性,请看

  1. # equery d libpcre
  2. * These packages depend on libpcre:
  3. app-admin/apache-tools-2.2.21 (dev-libs/libpcre)
  4. app-admin/syslog-ng-3.2.5 (pcre ? dev-libs/libpcre)
  5. app-portage/g-ctan-2011.1 (>=dev-libs/libpcre-0.7.6)
  6. app-text/stardict-3.0.3-r2 (tools ? dev-libs/libpcre)
  7. dev-lang/php-5.4.0_rc7 (>=dev-libs/libpcre-8.12[unicode])
  8. dev-lang/swig-2.0.4-r1 (pcre ? dev-libs/libpcre)
  9. dev-libs/rasqal-0.9.28 (pcre ? dev-libs/libpcre)
  10. dev-vcs/git-1.7.8.4 (perl ? dev-libs/libpcre)
  11. sci-mathematics/octave-3.6.0 (dev-libs/libpcre)
  12. sys-apps/grep-2.10 (pcre ? >=dev-libs/libpcre-7.8-r1)
  13. sys-apps/less-445-r1 (pcre ? dev-libs/libpcre)
  14. www-servers/apache-2.2.21-r1 (dev-libs/libpcre)
复制代码


哎,看来overlay还是比较危险的,莫名其妙地就把libpcre.so.0给删去了。


1. 楼上也说了,跟overlay没关系。请先sync
2. 我说的是个临时方法。pcre虽然重要,但是不是可以通过 -pcre 的方法暂时绕开它,然后寻找相关方法修复。

祝你好运:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-6 12:23:24 | 显示全部楼层
Post by timemars;2159656
其实跟overlay没啥关系,看一下libpcre这个包的changelog:
http://sources.gentoo.org/cgi-bi ... angeLog?view=markup

在2月5日接连发了三个ebuild,尤其是最后一个,libpcre-8.30-r2,写的是“Revbump to add preserve old lib support and remove old.”。大概就是出了问题打上补丁的。

由于早上停电,我emerge --sync的时候,libpcre已经是8.30-r2了,emerge完之后有提示运行"revdep-rebuild --library '/lib64/libpcre.so.0'"来修复,重新emerge了几个包。不清楚较早的另外两个版本有没有提示你运行revdep-rebuild。。。

现在libpcre的版本
  1. # eix libpcre
  2. [D] dev-libs/libpcre
  3.      Available versions:  (3) 7.9-r1 8.02 8.12 (~)8.13 (~)8.13-r1 (~)8.20 (~)8.21
  4.         {bzip2 +cxx doc +jit +readline +recursion-limit static-libs unicode zlib}
  5.      Installed versions:  8.30(3)(09时29分18秒 2012年02月06日)(bzip2 cxx jit readline recursion-limit unicode zlib -static-libs)
  6.      Homepage:            http://www.pcre.org/
  7.      Description:         Perl-compatible regular expression library
复制代码
查看elogview,根本没有相关提示。
再尝试执行
  1. # revdep-rebuild --library '/lib/libpcre.so.0'
复制代码
有如下错误:

grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory

在查看lib目录,可看到
  1. # ls /lib/libpcre*
  2. libpcre.so.1  libpcre.so.1.0.0
复制代码
汝之奈何?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-6 12:30:23 | 显示全部楼层
Post by zhou3345;2159657
1. 楼上也说了,跟overlay没关系。请先sync
2. 我说的是个临时方法。pcre虽然重要,但是不是可以通过 -pcre 的方法暂时绕开它,然后寻找相关方法修复。

祝你好运:)


好吧,无论emerge --sync还是 USE="-pcre" emerge -avutDN world,均不成功。
值得临时的使用 ln -s libpcre.so.1 libpcre.so.0,
暂时解决问题。

但总觉的很dirty!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-6 12:36:05 | 显示全部楼层
Post by timemars;2159656
其实跟overlay没啥关系,看一下libpcre这个包的changelog:
http://sources.gentoo.org/cgi-bi ... angeLog?view=markup

在2月5日接连发了三个ebuild,尤其是最后一个,libpcre-8.30-r2,写的是“Revbump to add preserve old lib support and remove old.”。大概就是出了问题打上补丁的。

由于早上停电,我emerge --sync的时候,libpcre已经是8.30-r2了,emerge完之后有提示运行"revdep-rebuild --library '/lib64/libpcre.so.0'"来修复,重新emerge了几个包。不清楚较早的另外两个版本有没有提示你运行revdep-rebuild。。。

按我的临时方法在emerge --sync之后,发现libpcre的版本已经成了dev-libs/libpcre-8.30-r2,真快啊,而且elogview确实也出现了revdep-rebuild --library '/lib/libpcre.so.0'。
回复 支持 反对

使用道具 举报

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

本版积分规则

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