LINUX.ORG.RU

GCC-4.5.2 поломался: libmpfr.so.1: cannot open shared object file: No such file or directory


0

1

Обновляется гента, вдруг цепочка падает, --resume и --skipfirst не помогают.

Ошибка перед остановом звучит так:

/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.2/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.2/cc1

Файл существует и исполняем. Что ж я делаю не так?

emerge --info =perl-core/Scalar-List-Utils-1.23 http://pastie.org/1472601

emerge -pqv =perl-core/Scalar-List-Utils-1.23 http://pastie.org/1472603

build log: http://pastie.org/1472607

Deleted

Собирайте ебилды всегда с ключом -b. Это позволит откатить критически важные пакеты в случае кривой сборки, или потери сошек.
Обновите портеж до версии 2.2.*. Там есть пресеты. В частности @preserved-rebuild. Штука очень полезная для отслеживания зависимостей библиотек. Старые сошки остаются в системе после обновления библиотек до тех пор, пока есть приложения зависящие от них. С новым портежом сабжевой проблемы просто в принципе не случится.

Как решить эту проблему: нужно попросить у кого-нибудь нужную библиотеку, положить её в /usr/local/lib. Добавить этот путь в /etc/ld.so.conf и выполнить ldconfig. Затем обновить портеж и пересобрать gcc. После чего эту библиотеку можно удалить, или чтобы без риска, просто перенести в бэкап.

Lumi ★★★★★
()

> libmpfr.so.1

Кстати, что за ископаемое такое?
Какой версии должен быть dev-libs/mpfr?
Потому как в актуальном dev-libs/mpfr-3.0.0_p3 уже libmpfr.so.4.0.0

Lumi ★★★★★
()

Сталкивался с таким косяком. Ситуация просто дебильная: можно поставить симлинк libmpfr.so -> libmpfr.so.1 и попытаться пересобрать gcc в надежде, что он подхватит правильный libmpfr, но у меня этот автолулз подхватывал неправильную ссылку. Итого грабли в системе. Единственное решение - это где-то раздобыть бинарный пакет с gcc, поставить его и пересобрать. В общем вердикт autotools должны сдохнуть, а их разработчики гореть в аду

Gorthauer ★★★★★
()
Ответ на: комментарий от xorik

Я же вообще ничего не могу пересобрать. Если только старым компилятором, что не вариант.

Deleted
()
Ответ на: комментарий от stormblastt

Так как система собралась далеко не полностью, он предложил поставить кучу старых библиотек и пересобрать опенофис, да и то не смог, потому что см. выше.

Deleted
()
Ответ на: комментарий от Lumi

Сам в недоумении.

# emerge -pv dev-libs/mpfr
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R   ] dev-libs/mpfr-3.0.0_p3  0 kB
Total: 1 package (1 reinstall), Size of downloads: 0 kB
Файла или симлинка такого нет:
# ls -l `whereis libmpfr.so.1`
ls: cannot access libmpfr.so:: No such file or directory
lrwxrwxrwx 1 root root 16 Янв 18 07:46 /usr/lib64/libmpfr.so -> libmpfr.so.4.0.0
lrwxrwxrwx 1 root root 16 Янв 18 07:46 /usr/lib64/libmpfr.so.4 -> libmpfr.so.4.0.0
lrwxrwxrwx 1 root root 16 Янв 18 07:46 /usr/lib/libmpfr.so -> libmpfr.so.4.0.0
lrwxrwxrwx 1 root root 16 Янв 18 07:46 /usr/lib/libmpfr.so.4 -> libmpfr.so.4.0.0
Однако
equery b /usr/lib64/libmpfr.so.1
 * Searching for /usr/lib64/libmpfr.so.1 ... 
dev-libs/mpfr-3.0.0_p3 (/usr/lib64/libmpfr.so.1)
И при этом revdep-rebuild его в качестве поломанных не определяет.

Deleted
()
Ответ на: комментарий от anon_666

Спасибо, но эти пакеты у меня и так есть в том же составе.

Deleted
()
Ответ на: комментарий от Gorthauer

Собссно, так сейчас и сделал,

cd /usr/lib64
ln -s libmpfr.so.4.0.0 libmpfr.so.1
ln -s libgmp.so.10.0.1 libgmp.so.3
потому что где искать теперь это старьё – неизвестно. Пересобираю мир.

Потом персоберу портажи. Обратил внимание на выхлоп из пересборки мира, там как раз скомпилился gmp, и он предлагал сделать revdep-rebuild --library '/usr/lib64/libgmp.so.3'. Тут я вспомнил, что когда обновление застопорилось, мне также предлагали сделать revdep-rebuild по каким-то трём библиотекам. Это был такой тест на ССЗБ, да?

Lumi, а можно поподробнее про portage-2.2 и как использовать @preserve-rebuild?

Deleted
()
Ответ на: комментарий от Lumi

Спасибо, надо обязательно поставить!

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.