SUSE 11 SP4 附带 glibc 版本 2.11.3。对于我的应用程序,我需要高于该版本的 glibc。SUSE 12 附带 glibc 版本 2.19.x。我在我的机器上加载了 SUSE 12 磁盘并找到了 glibc-2.19 rpm。但是当我尝试安装它时会出现以下错误
Preparing... ########################################### [100%]
file /etc/bindresvport.blacklist from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /etc/default/nss from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /etc/gai.conf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /etc/ld.so.conf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /etc/rpc from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/ld-linux-x86-64.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libBrokenLocale.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libSegFault.so from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libanl.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libc.so.6 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libcidn.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libcrypt.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libdl.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libm.so.6 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnsl.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_compat.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_dns.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_files.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_hesiod.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_nis.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libnss_nisplus.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libpthread.so.0 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libresolv.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/librt.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libthread_db-1.0.so from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /lib64/libutil.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /sbin/ldconfig from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/gencat from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/getconf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/getent from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/iconv from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/ldd from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/locale from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/bin/localedef from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/sbin/glibc_post_upgrade from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/sbin/iconvconfig from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/share/doc/packages/glibc/LICENSES from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/share/man/man1/getconf.1.gz from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
file /usr/share/man/man5/locale.alias.5.gz from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
Run Code Online (Sandbox Code Playgroud)
所以,为了解决这些冲突,我想到了删除当前安装的 glibc。我使用下面的命令来做到这一点。
zypper remove glibc
Run Code Online (Sandbox Code Playgroud)
此命令给了我以下警告:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: This request will break your system!
conflicting requests
Solution 1: ignore the warning of a broken system (requires:glibc)
Solution 2: keep glibc-2.11.3-17.84.1.x86_64
Choose from above solutions by number or cancel [1/2/c] (c):
Run Code Online (Sandbox Code Playgroud)
如果我选择 1,则会再次出现相同的消息。
我的应用程序需要在 SUSE 11 上,所以我不能使用 SUSE 12。有什么方法可以升级 glibc 吗?
不,您不能升级 glibc。系统上几乎所有其他程序都是针对特定版本的 glibc 编译的,如果 glibc 被删除或替换为不同版本,则可能会中断。我们都在 1990 年代后期艰难地了解到这一点,当时一些发行版确实尝试在同一发行版上发布更新版本的 glibc,而无需重新编译所有内容。
您的应用程序不可能同时需要 SuSE 11 和比随附的 SuSE 11 更高版本的 glibc。如果据说确实如此,那么您需要向其开发人员提交错误报告,因为它显然无法在该状态下使用。