rawhide vs. protected multilib versions
Jim Meyering
jim at meyering.net
Thu Apr 5 12:40:56 UTC 2012
I installed x86_64 F17 from the netinst.iso yesterday, selected
a minimal install, and immediately upgraded to rawhide.
Worked like a charm.
However, now that I try to use the resulting system and need a
few packages, I find that installing them is um, ... challenging.
For example, yesterday I couldn't even install gcc due to this:
Error: Protected multilib versions: \
libgomp-4.7.0-0.20.fc17.i686 != \
libgomp-4.7.0-1.fc17.x86_64
Could part of the problem be that gcc requires a specific version of libgomp?
As seen in gcc.spec:
Requires: libgomp = %{version}-%{release}
(i.e., =, not >=), yet the x86_64 libgomp installed in rawhide was too
new to meet that criterion. The "=" caused the matching i686 version to
be pulled in, and that triggered the "protected multilib" warning.
I was able to kludge around this by removing libgomp-4.7.0-1.fc17.x86_64
and all packages that depend on it (luckily only 2 or 3).
Then, installing gcc worked fine.
------------------------------------------------------------------
However, today when I try to install g++, something similar is
happening (symptom: yum wants to install i686 packages to meet
version constraints) but this time, my work-around is not an option.
root$ yum install --skip-broken gcc-c++ :
Loaded plugins: etckeeper, fastestmirror
Loading mirror speeds from cached hostfile
* rawhide: fedora.mirrors.ovh.net
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.x86_64 0:4.7.0-0.20.fc17 will be installed
--> Processing Dependency: libstdc++-devel = 4.7.0-0.20.fc17 for package: gcc-c++-4.7.0-0.20.fc17.x86_64
--> Processing Dependency: libstdc++ = 4.7.0-0.20.fc17 for package: gcc-c++-4.7.0-0.20.fc17.x86_64
--> Running transaction check
---> Package libstdc++.i686 0:4.7.0-0.20.fc17 will be installed
--> Processing Dependency: libm.so.6(GLIBC_2.0) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libm.so.6 for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libgcc_s.so.1(GLIBC_2.0) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libgcc_s.so.1(GCC_4.2.0) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libgcc_s.so.1(GCC_3.3) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libgcc_s.so.1(GCC_3.0) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libgcc_s.so.1 for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: ld-linux.so.2(GLIBC_2.3) for package: libstdc++-4.7.0-0.20.fc17.i686
--> Processing Dependency: ld-linux.so.2 for package: libstdc++-4.7.0-0.20.fc17.i686
---> Package libstdc++-devel.x86_64 0:4.7.0-0.20.fc17 will be installed
--> Processing Dependency: libstdc++(x86-64) = 4.7.0-0.20.fc17 for package: libstdc++-devel-4.7.0-0.20.fc17.x86_64
--> Running transaction check
---> Package glibc.i686 0:2.15-32.fc18 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.15-32.fc18.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.15-32.fc18.i686
---> Package libgcc.i686 0:4.7.0-0.20.fc17 will be installed
---> Package libstdc++-devel.x86_64 0:4.7.0-0.20.fc17 will be installed
--> Processing Dependency: libstdc++(x86-64) = 4.7.0-0.20.fc17 for package: libstdc++-devel-4.7.0-0.20.fc17.x86_64
--> Running transaction check
---> Package libstdc++-devel.x86_64 0:4.7.0-0.20.fc17 will be installed
--> Processing Dependency: libstdc++(x86-64) = 4.7.0-0.20.fc17 for package: libstdc++-devel-4.7.0-0.20.fc17.x86_64
---> Package nss-softokn-freebl.i686 0:3.13.4-0.1.fc18.beta1.1 will be installed
Packages skipped because of dependency problems:
gcc-c++-4.7.0-0.20.fc17.x86_64 from rawhide
glibc-2.15-32.fc18.i686 from rawhide
libgcc-4.7.0-0.20.fc17.i686 from rawhide
libstdc++-4.7.0-0.20.fc17.i686 from rawhide
libstdc++-devel-4.7.0-0.20.fc17.x86_64 from rawhide
nss-softokn-freebl-3.13.4-0.1.fc18.beta1.1.i686 from rawhide
Any suggestions?
Removing libstdc++ is not an option because it would remove far too
many things, including yum itself.
------------------------------------------------------------------
I guess this can be seen as my own damn fault ;-) for choosing
the netinst+minimal installation options rather than the more
mainstream "install-from-liveCD" approach...
More information about the devel
mailing list