centos:不同架构的软件包弄乱了?

centos:不同架构的软件包弄乱了?

我正在尝试在以下机器上安装 gdal-devel:

# cat /etc/redhat-release
  CentOS release 6.3 (Final)
# uname -a
  Linux local 2.6.32-279.1.1.el6.x86_64 #1 SMP Tue Jul 10 13:47:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

并获取依赖于 gdal 开发的软件包列表:

# yum install gdal-devel
Loaded plugins: fastestmirror, presto, priorities
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: centos.bio.lmu.de
 * epel: be.mirror.eurid.eu
 * extras: artfiles.org
 * rpmforge: apt.sw.be
 * updates: artfiles.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gdal-devel.x86_64 0:1.7.3-15.el6 will be installed
--> Processing Dependency: libgeotiff-devel for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libosrjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libogrjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libgdaljni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libgdalconstjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Running transaction check
---> Package gdal-java.x86_64 0:1.7.3-15.el6 will be installed
---> Package libgeotiff-devel.x86_64 0:1.2.5-5.el6 will be installed
--> Processing Dependency: libtiff-devel for package: libgeotiff-devel-1.2.5-5.el6.x86_64
--> Running transaction check
---> Package libtiff-devel.x86_64 0:3.9.4-5.el6_2 will be installed
--> Processing Dependency: libtiff = 3.9.4-5.el6_2 for package: libtiff-devel-3.9.4-5.el6_2.x86_64
--> Running transaction check
---> Package libtiff.i686 0:3.9.4-5.el6_2 will be installed
--> Processing Dependency: libz.so.1 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.9) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(CXXABI_1.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libm.so.6(GLIBC_2.0) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libm.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libjpeg.so.62 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libgcc_s.so.1 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.7) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.2) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.11) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.0) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Running transaction check
---> Package glibc.i686 0:2.12-1.80.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.80.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.80.el6.i686
---> Package libgcc.i686 0:4.4.6-4.el6 will be installed
---> Package libjpeg.i686 0:6b-46.el6 will be installed
---> Package libstdc++.i686 0:4.4.6-4.el6 will be installed
---> Package zlib.i686 0:1.2.3-27.el6 will be installed
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed
--> Finished Dependency Resolution
Error: Protected multilib versions: libtiff-3.9.4-5.el6_2.i686 != libtiff-3.9.4-6.el6_3.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
# yum install gdal-devel
Loaded plugins: fastestmirror, presto, priorities
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: centos.bio.lmu.de
 * epel: be.mirror.eurid.eu
 * extras: artfiles.org
 * rpmforge: apt.sw.be
 * updates: artfiles.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gdal-devel.x86_64 0:1.7.3-15.el6 will be installed
--> Processing Dependency: libgeotiff-devel for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libosrjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libogrjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libgdaljni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Processing Dependency: libgdalconstjni.so.1()(64bit) for package: gdal-devel-1.7.3-15.el6.x86_64
--> Running transaction check
---> Package gdal-java.x86_64 0:1.7.3-15.el6 will be installed
---> Package libgeotiff-devel.x86_64 0:1.2.5-5.el6 will be installed
--> Processing Dependency: libtiff-devel for package: libgeotiff-devel-1.2.5-5.el6.x86_64
--> Running transaction check
---> Package libtiff-devel.x86_64 0:3.9.4-5.el6_2 will be installed
--> Processing Dependency: libtiff = 3.9.4-5.el6_2 for package: libtiff-devel-3.9.4-5.el6_2.x86_64
--> Running transaction check
---> Package libtiff.i686 0:3.9.4-5.el6_2 will be installed
--> Processing Dependency: libz.so.1 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.9) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6(CXXABI_1.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libstdc++.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libm.so.6(GLIBC_2.0) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libm.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libjpeg.so.62 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libgcc_s.so.1 for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.7) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3.4) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.2) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.11) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6(GLIBC_2.0) for package: libtiff-3.9.4-5.el6_2.i686
--> Processing Dependency: libc.so.6 for package: libtiff-3.9.4-5.el6_2.i686
--> Running transaction check
---> Package glibc.i686 0:2.12-1.80.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.80.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.80.el6.i686
---> Package libgcc.i686 0:4.4.6-4.el6 will be installed
---> Package libjpeg.i686 0:6b-46.el6 will be installed
---> Package libstdc++.i686 0:4.4.6-4.el6 will be installed
---> Package zlib.i686 0:1.2.3-27.el6 will be installed
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed
--> Finished Dependency Resolution
Error: Protected multilib versions: libtiff-3.9.4-5.el6_2.i686 != libtiff-3.9.4-6.el6_3.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

因此,看起来存储库的架构(686 与 x86_64)已经严重混乱。有什么想法可以解决这一混乱吗?

# yum repolist
Loaded plugins: fastestmirror, presto, priorities
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: centos.bio.lmu.de
 * epel: be.mirror.eurid.eu
 * extras: artfiles.org
 * rpmforge: apt.sw.be
 * updates: artfiles.org
repo id                                                        repo name                                                                                status
Webmin                                                         Webmin Distribution Neutral                                                                   144
base                                                           CentOS-6 - Base                                                                          6,330+16
epel                                                           Extra Packages for Enterprise Linux 6 - x86_64                                              8,590
extras                                                         CentOS-6 - Extras                                                                              12
pgdg91                                                         PostgreSQL 9.1 6 - x86_64                                                                     277
pgdg92                                                         PostgreSQL 9.2 6 - x86_64                                                                     185
rpmforge                                                       RHEL 6 - RPMforge.net - dag                                                                 4,594
software.freivald.com                                          Freivald RPMS for CentOS                                                                        1
software.freivald.com-qt                                       Freivald RPMS for CentOS - Qt Development Software                                             16
updates                                                        CentOS-6 - Updates                                                                            459

答案1

到目前为止,唯一的解决方案是禁止存储库中的 i686 软件包。我通过在 .repo 文件中添加以下行来实现此目的:

exclude=*.i686

还有其他更好的想法吗?

相关内容