dnf 安装拉旧的 gcc 作为依赖项

dnf 安装拉旧的 gcc 作为依赖项

这是在 Fedora 32 盒子上。在安装需要 gcc 的软件包时看到 dnf 的一个奇怪问题。存储库已更新,最新的 gcc 可用。

$ sudo dnf list gcc --showduplicates
Last metadata expiration check: 0:05:51 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Available Packages
gcc.x86_64                                            10.0.1-0.11.fc32                                            Fedora32        
gcc.x86_64                                            10.2.1-6.fc32                                               Fedora32-UPDATES

然而,当我尝试安装一个引入 gcc 的软件包时,它想要安装旧版本。

$ sudo dnf install stack
Last metadata expiration check: 0:07:23 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Dependencies resolved.
==================================================================================================================================
 Package                                 Architecture        Version                          Repository                     Size
==================================================================================================================================
Installing:
 stack                                   x86_64              2.1.3.1-3.fc32                   Fedora32-UPDATES              7.5 M
Upgrading:
 libxcrypt                               x86_64              4.4.17-1.fc32                    Fedora32-UPDATES              124 k
Installing dependencies:
 binutils                                x86_64              2.34-5.fc32                      Fedora32-UPDATES              5.4 M
 binutils-gold                           x86_64              2.34-5.fc32                      Fedora32-UPDATES              852 k
 cpp                                     x86_64              10.0.1-0.11.fc32                 Fedora32                      9.4 M
 elfutils-debuginfod-client              x86_64              0.181-1.fc32                     Fedora32-UPDATES               33 k
 gcc                                     x86_64              10.0.1-0.11.fc32                 Fedora32                       30 M
 glibc-devel                             x86_64              2.31-4.fc32                      Fedora32-UPDATES              1.0 M
 glibc-headers                           x86_64              2.31-4.fc32                      Fedora32-UPDATES              457 k
 gmp-c++                                 x86_64              1:6.1.2-13.fc32                  Fedora32                       18 k
 gmp-devel                               x86_64              1:6.1.2-13.fc32                  Fedora32                      171 k
 isl                                     x86_64              0.16.1-10.fc32                   Fedora32                      872 k
 kernel-headers                          x86_64              5.8.11-200.fc32                  Fedora32-UPDATES              1.2 M
 libmpc                                  x86_64              1.1.0-8.fc32                     Fedora32                       59 k
 libpkgconf                              x86_64              1.6.3-3.fc32                     Fedora32                       35 k
 libxcrypt-devel                         x86_64              4.4.17-1.fc32                    Fedora32-UPDATES               32 k
 pkgconf                                 x86_64              1.6.3-3.fc32                     Fedora32                       41 k
 pkgconf-m4                              noarch              1.6.3-3.fc32                     Fedora32                       14 k
 pkgconf-pkg-config                      x86_64              1.6.3-3.fc32                     Fedora32                      9.7 k
Downgrading:
 libgomp                                 x86_64              10.0.1-0.11.fc32                 Fedora32                      246 k

Transaction Summary
==================================================================================================================================
Install    18 Packages
Upgrade     1 Package
Downgrade   1 Package

当我明确指定 gcc 时,它会正确安装最新版本。

$ sudo dnf install stack gcc
Last metadata expiration check: 0:08:21 ago on Fri 30 Oct 2020 11:45:06 AM PDT.
Dependencies resolved.
==================================================================================================================================
 Package                                  Architecture         Version                       Repository                      Size
==================================================================================================================================
Installing:
 gcc                                      x86_64               10.2.1-6.fc32                 Fedora32-UPDATES                30 M
 stack                                    x86_64               2.1.3.1-3.fc32                Fedora32-UPDATES               7.5 M
Upgrading:
 libgcc                                   x86_64               10.2.1-6.fc32                 Fedora32-UPDATES                99 k
 libgomp                                  x86_64               10.2.1-6.fc32                 Fedora32-UPDATES               260 k
 libxcrypt                                x86_64               4.4.17-1.fc32                 Fedora32-UPDATES               124 k
Installing dependencies:
 binutils                                 x86_64               2.34-5.fc32                   Fedora32-UPDATES               5.4 M
 binutils-gold                            x86_64               2.34-5.fc32                   Fedora32-UPDATES               852 k
 cpp                                      x86_64               10.2.1-6.fc32                 Fedora32-UPDATES               9.4 M
 elfutils-debuginfod-client               x86_64               0.181-1.fc32                  Fedora32-UPDATES                33 k
 glibc-devel                              x86_64               2.31-4.fc32                   Fedora32-UPDATES               1.0 M
 glibc-headers                            x86_64               2.31-4.fc32                   Fedora32-UPDATES               457 k
 gmp-c++                                  x86_64               1:6.1.2-13.fc32               Fedora32                        18 k
 gmp-devel                                x86_64               1:6.1.2-13.fc32               Fedora32                       171 k
 isl                                      x86_64               0.16.1-10.fc32                Fedora32                       872 k
 kernel-headers                           x86_64               5.8.11-200.fc32               Fedora32-UPDATES               1.2 M
 libmpc                                   x86_64               1.1.0-8.fc32                  Fedora32                        59 k
 libpkgconf                               x86_64               1.6.3-3.fc32                  Fedora32                        35 k
 libxcrypt-devel                          x86_64               4.4.17-1.fc32                 Fedora32-UPDATES                32 k
 pkgconf                                  x86_64               1.6.3-3.fc32                  Fedora32                        41 k
 pkgconf-m4                               noarch               1.6.3-3.fc32                  Fedora32                        14 k
 pkgconf-pkg-config                       x86_64               1.6.3-3.fc32                  Fedora32                       9.7 k

Transaction Summary
==================================================================================================================================
Install  18 Packages
Upgrade   3 Packages

有人知道这里发生了什么事吗?提前致谢。

答案1

我猜依赖解析器选择了前者,因为他不需要升级两个包(libgcc、libgomp)。如果您运行相同的命令,--best我想您将得到与稍后运行相同的结果。

相关内容