libstdc++ conflicts itself, perl, yast, git

Issue: 在 openSuSE 11, 12, 13的某些版本中,通过yast安装 git 工具包,会遇到类似问题:

Problem: solvable libstdc++6-4.8.1_20130909-3.2.1.i586 conflicts with libstdc++6 provided by itself


Why do some packages conflict with themselves?
“Oneiric supports Multi-Arch, that is, allowing you to install packages of different architectures simultaneously (currently i386 and amd64 a.k.a. 32-bit and 64-bit). Some packages cannot be installed simultaneously (like libc6:i386 and libc6:amd64). aptitude cannot handle these cases and therefore thinks that it may be a good idea to remove those packages. It’s recommended to use apt-get now.”



Package conflicting with itself?

>> You somehow need an upgraded zypp stack, which will ignore the self
>> conflict.
> Yeah, but it's kind of tough as the new zypp stack requires new libstdc++ 
> and a bunch of other things which I don't really want to force install.

Can't you just force-install libstdc++6-4.8.1_20130909-3.2.1.i586?



shell> wget “”
shell> rpm -ivh –nodeps –force libstdc++6-4.8.1_20130909-3.2.1.i586.rpm
然后再安装 perl相关的一些工具包
shell> zypper -v install –force-resolution yast2-perl-bindings


这一过程中,还可能遇到 yast 无法使用,或者
shell> perl -MCPAN -eshell
无法调用的情况,均是由于在安装过程中 libstdc++ 的版本问题遇到故障,可以在解决上来上面的问题之后,重新安装 perl 即可。

本质上,每个软件的版本都有与之同期的对应的版本相配合,跨时期的软件版本很难融合。这是本次,也是上次 apache 和 resin融合遇到的问题的共同特征。


This entry was posted in 服务器运维, 编程技术, 计算机技术. Bookmark the permalink.


电子邮件地址不会被公开。 必填项已用*标注