Я использую Ubuntu 12.04.3 LTS, 64-bit, с gcc 4.6.3
Я хочу обновить gcc до 4.7, и делаю, как сказано в ссылке:
Но я получил ошибку:
Fetched 14.0 MB in 18s (767 kB/s)
(Reading database ... 205536 files and directories currently installed.)
Preparing to replace libgcc1 1:4.6.3-1ubuntu5 (using .../libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb) ...
Unpacking replacement libgcc1 ...
dpkg: error processing /var/cache/apt/archives/libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb (--unpack):
trying to overwrite '/lib/x86_64-linux-gnu/libgcc_s.so.1', which is also in package gcc-4.6 4.6.3-1ubuntu5
Errors were encountered while processing:
/var/cache/apt/archives/libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
, поэтому я удаляю gcc 4.6:
sudo apt-get remove gcc-4.6
sudo apt-get update
apt-get: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
Сейчас apt-get, vi
больше не могу работать.
Это не настоящее исправление, а обходной путь.
Правильный курс действий - установить gcc-multilib
, с apt-get install gcc-multilib
Установка gcc-multilib - единственное, что мне помогло, я использую Ubuntu 15. Спасибо!
Я копирую libgcc_s.so.1
с другого компьютера в /lib/x86_64-linux-gnu/
Тогда проблема решена.
Я снова устанавливаю gcc-4.7, это успешно.
(Я наткнулся на ту же проблему несколько лет спустя, и никто, кроме Эйлвин Лейк, не решает исходную ситуацию, когда apt-get
не работает)
Итак, если вы сталкиваетесь с этим сообщением об ошибке при запуске apt
:
apt: ошибка при загрузке общих библиотек: libgcc_s.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога
вы все равно можете надеюсь вернуть libgcc_s.so.1
. Вот два решения:
.deb
с dpkg вместо apt
. Вы должны найти такой пакет на pkgs.org — обязательно выберите правильную версию. Затем запустите sudo dpkg -i packagename.deb
/lib/x86_64-linux-gnu
. find / -name "libgcc_s.so.1"
.