使用上了OpenVPN

perl升级引发的一系列惨案

roamin9 posted @ 2010年2月21日 18:01 in 搭建个人环境 , 3101 阅读

     过年回来,习惯性的emerge -avuDN world升级gentoo,升级过程中出现编译问题,当时没有太在意。和谐,和谐,先正常用吧。可接下来发生的事情把我折腾的够呛。

     首先是VIM不能用了。提示说找不到一个共享库:

     vi: error while loading shared libraries: libperl.so.1: cannot open shared object file: No such file or directory

     $ ldd /usr/bin/vim

     roamin9@matrix ~ $ ldd /usr/bin/vim

        linux-gate.so.1 =>  (0xb780b000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb77a8000)
        libacl.so.1 => /lib/libacl.so.1 (0xb779f000)
        libgpm.so.1 => /lib/libgpm.so.1 (0xb7798000)
        libperl.so.1 => not found
        libutil.so.1 => /lib/libutil.so.1 (0xb7793000)
        libc.so.6 => /lib/libc.so.6 (0xb764a000)
        libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0xb74f0000)

     看来这个库在升级的过程中没有了。从名字来看,与perl相关。管他三七二十一,先重新emerge一下vim吧。不幸的是,编译vim-core的时候,出错。NND,硬着头皮看出
错信息,感觉是autoconf导致的编译失败(),于是查看autoconf包,发现有两个solt,2.1和2.5。稀里糊涂的决定,先干掉一个吧(杯具的开始):
     # emerge -C =sys-devel/autoconf-2.65

     干掉的很顺利,以后的麻烦却源源不绝。
     查看autoconf版本的方法:
     roamin9@matrix ~ $ WANT_AUTOCONF=2.1 autoconf --version
Autoconf version 2.13
roamin9@matrix ~ $ WANT_AUTOCONF=2.5 autoconf --version
autoconf (GNU Autoconf) 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.


     在gentoo中,是通过变量WANT_AUTOCONF来控制autoconf的版本,在编译中来使用不同的autoconf。软件包sys-devel/autoconf-wrapper来做切换的事情。


     干掉autoconf-2.65后,发现两个solt的autoconf是必须的,于是想要把autoconf-2.65重新装上,可总是编译出错。问题在哪呢???

     看了下elogv中perl相关的日志,又google了好几下,原来perl升级后,是需要用perl-cleaner来处理一下的。

     # perl-cleaner --all
     看着perl-cleaner自动的找到了需要修复的软件包,万分欢喜,谁曾想它也需要emerge autoconf,出错是注定的了。到现在为止,问题好像已经成了一个圈了。
     看看autoconf的编译失败的日志,忽然间看到"@bolin"的字样提示。@bolin是在我的内核名字中包含的字符串,会不会perl认为@bolin是一个模块名,找不到而引起的错
误呢?

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter