emerge не работает
Maxim 1 ноября, 2005 - 11:10
Всем, здравствуйте! Обновил gcc до версии 3.4.4 (gentoo 2005.1) и сгоряча стал править руками файлы
/etc/env.d/gcc/config и /etc/env.d/05gcc. Запустил env-update и в результате получил картинку при которой ни новый
ни старый gcc не обнаруживается:
error while loading shared libraries: libstdc++.so5: cannot open shared object file: No such file or directory
Подскажите, плиз, можно ли это исправить без переустановки системы
P.S. Откат на старые конфиги не помог :(
»
- Для комментирования войдите или зарегистрируйтесь
Это Вам не
Это Вам не виндовс.
Разбираемся.
1) В /etc/env.d/gcc/config лежит всего одна переменная
CURRENT=i686-pc-linux-gnu-3.3.5-20050130
Она указывает на один из фалов в этом же каталоге. У вас он может называться по другому.
2) Тот файл что прописан в CURRENT содержит различные пути к бинарям, либам, манам и тп.
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130"
GCCBITS="32"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"
STDCXX_INCDIR="g++-v3"
Надо посмотреть куда они кажут на самом деле
3)Файл 05gcc
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130"
GCC_SPECS=""
Практически полностью повторяет предыдущий
Система ругается на отсутсвие библиотеки libstdc++.so5 => косо прописаны пути
Библиотека находится в (Ваша версия (то бишь путь) может различаться)
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/
Этот путь прописан в 2х вышеприведенных файлах в переменной
LDPATH
Короче надо править пути как следует, затем как обычно
env-update; etc-update; source /etc/profile
Все.
А переставлять ни ни никогда. Этож линукс.
http://forums.gentoo.org/viewtopic.php?p=173159
всем огромное
всем огромное спасибо :)
откатился на старую версию gcc, привернуть новую так и не удалось
с путями всё нормально делаю (
LD_LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4 env-update && source /etc/profile
тоже всё нормально, а вот не работает :(
пишет не может найти libctdc++.so.5 и это чистая правда потому как в gcc 3.4.4 юзается libctdc++.so.6 но как заставить проги (в частности python) работать с ней не разобрался :(