当我将 gcc 降级到 4.4 时,我将符号链接更改为 4.4 版本。这不起作用,现在我的系统(kubuntu 20.04 64 位)无法启动。我现在了解到 Nvidia 驱动程序需要 gcc 编译器才能工作。现在我想恢复默认的 gcc,但它不起作用。我做了什么
$ sudo apt remove build-essential
$ sudo apt purge gcc
$ sudo apt-get autoremove
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
然后sudo dpkg --configure -a
和sudo apt-get install -f
之后我尝试安装该build essential
软件包,但最终出现错误。gcc 和 g++ 软件包未配置,因此 build essential 的依赖项不存在
$ sudo apt-get install build-essential
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
g++ g++-9 gcc libstdc++-9-dev
Vorgeschlagene Pakete:
g++-multilib g++-9-multilib gcc-9-doc gcc-multilib autoconf automake libtool flex bison gcc-doc libstdc++-9-doc
Die folgenden NEUEN Pakete werden installiert:
build-essential g++ g++-9 gcc libstdc++-9-dev
0 aktualisiert, 5 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 10,1 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 46,8 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Vormals nicht ausgewähltes Paket gcc wird gewählt.
(Lese Datenbank ... 262920 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../gcc_4%3a9.3.0-1ubuntu2_amd64.deb ...
Entpacken von gcc (4:9.3.0-1ubuntu2) ...
Vormals nicht ausgewähltes Paket libstdc++-9-dev:amd64 wird gewählt.
Vorbereitung zum Entpacken von .../libstdc++-9-dev_9.3.0-17ubuntu1~20.04_amd64.deb ...
Entpacken von libstdc++-9-dev:amd64 (9.3.0-17ubuntu1~20.04) ...
Vormals nicht ausgewähltes Paket g++-9 wird gewählt.
Vorbereitung zum Entpacken von .../g++-9_9.3.0-17ubuntu1~20.04_amd64.deb ...
Entpacken von g++-9 (9.3.0-17ubuntu1~20.04) ...
Vormals nicht ausgewähltes Paket g++ wird gewählt.
Vorbereitung zum Entpacken von .../g++_4%3a9.3.0-1ubuntu2_amd64.deb ...
Entpacken von g++ (4:9.3.0-1ubuntu2) ...
Vormals nicht ausgewähltes Paket build-essential wird gewählt.
Vorbereitung zum Entpacken von .../build-essential_12.8ubuntu1.1_amd64.deb ...
Entpacken von build-essential (12.8ubuntu1.1) ...
libstdc++-9-dev:amd64 (9.3.0-17ubuntu1~20.04) wird eingerichtet ...
gcc (4:9.3.0-1ubuntu2) wird eingerichtet ...
update-alternatives: Fehler: Alternativen-Pfad /usr/bin/gcc existiert nicht
dpkg: Fehler beim Bearbeiten des Paketes gcc (--configure):
»installiertes gcc-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 2 zurück
g++-9 (9.3.0-17ubuntu1~20.04) wird eingerichtet ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von g++:
g++ hängt ab von gcc (= 4:9.3.0-1ubuntu2); aber:
Paket gcc ist noch nicht konfiguriert.
dpkg: Fehler beim Bearbeiten des Paketes g++ (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
Es wurde kein Apport-Bericht verfasst, da die Fehlermeldung darauf hindeutet, dass dies lediglich ein Folgefehler eines vorherigen Problems ist.
Es wurde kein Apport-Bericht verfasst, da die Fehlermeldung darauf hindeut
et, dass dies lediglich ein Folgefehler eines vorherigen Problems ist.
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von build-essential:
build-essential hängt ab von gcc (>= 4:9.2); aber:
Paket gcc ist noch nicht konfiguriert.
build-essential hängt ab von g++ (>= 4:9.2); aber:
Paket g++ ist noch nicht konfiguriert.
dpkg: Fehler beim Bearbeiten des Paketes build-essential (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
Trigger für man-db (2.9.1-1) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
gcc
g++
build-essential
E: Sub-process /usr/bin/dpkg returned an error code (1)
ls -l /usr/bin
向我展示
lrwxrwxrwx 1 root root 5 Mär 20 2020 x86_64-linux-gnu-g++ -> g++-9
-rwxr-xr-x 1 root root 1158288 Aug 8 2020 x86_64-linux-gnu-g++-9
lrwxrwxrwx 1 root root 5 Mär 20 2020 x86_64-linux-gnu-gcc -> gcc-9
-rwxr-xr-x 1 root root 1154192 Aug 8 2020 x86_64-linux-gnu-gcc-9
lrwxrwxrwx 1 root root 8 Mär 20 2020 x86_64-linux-gnu-gcc-ar -> gcc-ar-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-ar-9
lrwxrwxrwx 1 root root 8 Mär 20 2020 x86_64-linux-gnu-gcc-nm -> gcc-nm-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-nm-9
lrwxrwxrwx 1 root root 12 Mär 20 2020 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-ranlib-9
从而向find . -xtype l
我展示了以下断开的链接
./gcc-nm
./gcc-ar
./x86_64-linux-gnu-gcc
./x86_64-linux-gnu-gcc-nm
./gcc-ranlib
./x86_64-linux-gnu-gcc-ar
./clhsdb
./x86_64-linux-gnu-gcc-ranlib
./gcc
./hsdb
的输出apt-cache policy gcc
是
gcc:
Installiert: 4:9.3.0-1ubuntu2
Installationskandidat: 4:9.3.0-1ubuntu2
Versionstabelle:
*** 4:9.3.0-1ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
Asudo dpkg --configure gcc
也以错误结束(错误代码 2)
gcc (4:9.3.0-1ubuntu2) wird eingerichtet ...
update-alternatives: Fehler: Alternativen-Pfad /usr/bin/gcc existiert nicht
dpkg: Fehler beim Bearbeiten des Paketes gcc (--configure):
»installiertes gcc-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 2 zurück
Fehler traten auf beim Bearbeiten von:
gcc
我的问题是如何修复断开的链接以最终安装默认的 gcc。谢谢您的任何提示。
答案1
我上周末修复了这个问题。以下是我丢失/损坏的符号链接的定义:
sudo ln -s gcc-9 gcc
sudo ln -s gcc-9 gcc
sudo ln -s gcc-ar-9 gcc-ar
sudo ln -s x86_64-linux-gnu-gcc-ar-9 gcc-ar-9
sudo ln -s gcc-nm-9 gcc-nm
sudo ln -s x86_64-linux-gnu-gcc-nm-9 gcc-nm-9
sudo ln -s gcc-ranlib-9 gcc-ranlib
sudo ln -s x86_64-linux-gnu-gcc-ranlib-9 gcc-ranlib-9
sudo ln -s gcc-9 x86_64-linux-gnu-gcc
现在$ ls -l /usr/bin | grep gcc
输出
-rwxr-xr-x 1 root root 428 Mai 7 2006 c89-gcc
-rwxr-xr-x 1 root root 454 Apr 11 2011 c99-gcc
lrwxrwxrwx 1 root root 5 Mär 19 21:47 gcc -> gcc-9
lrwxrwxrwx 1 root root 22 Mär 19 21:49 gcc-9 -> x86_64-linux-gnu-gcc-9
lrwxrwxrwx 1 root root 8 Mär 19 21:50 gcc-ar -> gcc-ar-9
lrwxrwxrwx 1 root root 25 Mär 19 21:51 gcc-ar-9 -> x86_64-linux-gnu-gcc-ar-9
lrwxrwxrwx 1 root root 8 Mär 20 2020 gcc-nm -> gcc-nm-9
lrwxrwxrwx 1 root root 25 Mär 19 21:53 gcc-nm-9 -> x86_64-linux-gnu-gcc-nm-9
lrwxrwxrwx 1 root root 12 Mär 20 2020 gcc-ranlib -> gcc-ranlib-9
lrwxrwxrwx 1 root root 29 Mär 19 21:56 gcc-ranlib-9 -> x86_64-linux-gnu-gcc-ranlib-9
lrwxrwxrwx 1 root root 5 Mär 20 2020 x86_64-linux-gnu-gcc -> gcc-9
-rwxr-xr-x 1 root root 1154192 Aug 8 2020 x86_64-linux-gnu-gcc-9
lrwxrwxrwx 1 root root 8 Mär 20 2020 x86_64-linux-gnu-gcc-ar -> gcc-ar-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-ar-9
lrwxrwxrwx 1 root root 8 Mär 20 2020 x86_64-linux-gnu-gcc-nm -> gcc-nm-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-nm-9
lrwxrwxrwx 1 root root 12 Mär 20 2020 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-9
-rwxr-xr-x 1 root root 35464 Aug 8 2020 x86_64-linux-gnu-gcc-ranlib-9
非常感谢您的提示和支持。