Вы здесь

[SOLVED]Постоянная пересборка gcc

Я знаю что сам дурак, но, быть омжет, кто-то подскажет можно ли это вылечить:

Сидел когда-то на тильде. Потом пошаманил и перелез на стабильную ветку. Но вылезла проблема.
Когда выполняется revdep-rebuild пишется следующее:

[ 24% ]  *   broken /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libgfortran.la (requires -lm)
[ 26% ]  *   broken /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libgomp.la (requires -lrt)
[ 27% ]  *   broken /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libmudflap.la (requires -ldl)
[ 29% ]  *   broken /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libmudflapth.la (requires -ldl)

После чего пересобирается gcc.

Если я после сборки gcc снова запущу revdep-rebuild все повторяется раз за разом.

Как это вылечить?

revdep-rebuild -i?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Не помогает :(

думаю, что стоит попробовать fix_libtool_files.sh и lafilefixer --justfixit

пробовал fix_libtool_files.sh 4.4 и lafilefixer --justfixit - ноль реакции :(

еще в таких случаях просто удалял /var/lib/portage/preserved_libs_registry (вроде) и пересобирал пакет вручную один раз )) костыль, но иногда задалбывало ))

Это для @preserved-rebuild, а не revdep-rebuild

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

упс :) невнимателен я сегодня :)

а если дать, что просит?

USE = "-ldl -lm -lrt" в make.conf

?

что-то добрый я сегодня ....

это не юзфлаги, а библиотеки libdl, libm и librt, которых по какойто причине нет. они принадлежат пакету glibc, поэтому попробуйте его пересобрать.

Попробовал. Увы не помогло.

После пересборки glibc всегда надо

emerge -1 sys-devel/binutils sys-devel/gcc

а в вашем случае после этого еще

emerge -1 app-portage/gentoolkit

в чем связь между glibc и пакетом написаном полностью на питоне?

к первому утверждению тоже хотелось бы услышать пояснение - зачем

Не знаю, но мне таки помогло.

Спасибо. помогло!

не буду спорить, но....

gry написал:
это не юзфлаги, а библиотеки libdl, libm и librt, которых по какойто причине нет. они принадлежат пакету glibc, поэтому попробуйте его пересобрать.

1) флаг lm у меня есть (~amd64), a lvt и ldl - возможно весьма специфичны для x86

2) libgfortran.la (requires -lm) говорит о том, что нужна линковка без этой (этих) библиотек

3) параметры для LINK gcc передает через своё окружение, вот и было предложение поступить по рабоче-крестьянски указать через окружение (USE) необходимые флаги, а там уж пусть сам gcc разбирается с ними что делать. Я не программист, и даже не учусь, и потому не знаю как через окружение передать опции для линковщика.

4) следуя своей рабоче-крестьянской идеологии я бы посмотрел gcc-config -l и оценил бы возможность переключиться на другую версию gcc

5) в случае неудачи п.4 нашел бы в libgfortran.la кусок

# Libraries that this one depends upon.
dependency_libs=' -lm'

и вырезал бы его нах(ер)

6) в случае неудачи п.5 удалил бы нах(ер) libgfortran.la и натравил revdep-rebuild

7) в случае катастрофической неудачи восстанавливался из stage4 или переустанавливался (или вытянул gcc с окружением из последнего stage3)

я не даю этих советов, ибо это - всего-лишь мой рабоче-крестьянский подход

что-то добрый я сегодня ....

leryc написал:
флаг lm у меня есть (~amd64), a lvt и ldl - возможно весьма специфичны для x86

Мдя... В принципе, вы можете в качестве флагов писать всё, что угодно (даже fucking_shit), вопрос - за каким фаллосом это надо, если заведомо ни одним пакетом не будет востребовано? Полный актуальный набор флагов (и глобальных, и локальных) можете обозреть здесь или здесь

Цитата:
параметры для LINK gcc передает через своё окружение, вот и было предложение поступить по рабоче-крестьянски указать через окружение (USE) необходимые флаги, а там уж пусть сам gcc разбирается с ними что делать

Какому LINK, уж не ld ли вы имеете в виду? Под столом... Линковщику передаются параметры из $CFLAGS, $CXXFLAGS, $LDFLAGS и некоторых других, но при чём здесь $USE?! Помилуйте, шо за рабоч/крест бред??

Цитата:
даже не учусь, и потому не знаю как через окружение передать опции для линковщика

Даже не учитесь? Пичалька... Так какого же [ez советуете другим то, чего не знаете? Какой сакральный смысл вашего постинга??

Цитата:
следуя своей рабоче-крестьянской идеологии

А не попытать ли вам перо на каком-либо более идеологически подходящем ресурсе?

Мы тоже не всего читали Шнитке!.. © В. Вишневский

не стой ноги встал?

Spoiler написал:
leryc написал:
флаг lm у меня есть (~amd64), a lvt и ldl - возможно весьма специфичны для x86

Мдя... В принципе, вы можете в качестве флагов писать всё, что угодно (даже fucking_shit), вопрос - за каким фаллосом это надо, если заведомо ни одним пакетом не будет востребовано? Полный актуальный набор флагов (и глобальных, и локальных) можете обозреть здесь или здесь

Товарищ gry сказал, что это "не флаги" - я его поправил, более того, флаг lm отвечает за "подхват" (прилинковку) библиотек, связанных с lm-sensor

Указание лишних флагов, если их никто не использует, ничего не даст, но и кашу маслом не испортишь.

Spoiler написал:
Цитата:
параметры для LINK gcc передает через своё окружение, вот и было предложение поступить по рабоче-крестьянски указать через окружение (USE) необходимые флаги, а там уж пусть сам gcc разбирается с ними что делать

Какому LINK, уж не ld ли вы имеете в виду? Под столом... Линковщику передаются параметры из $CFLAGS, $CXXFLAGS, $LDFLAGS и некоторых других, но при чём здесь $USE?! Помилуйте, шо за рабоч/крест бред??

ld - да, вы правы, просто я его не вспомнил, а со времен DOS'а осталось на генном уровне link - "сборщик" o(bj) файлов
LDFLAGS - вы правы и меня поправили, но я сразу поставил себя на своё место - я не программист и этого не знать - мне не стыдно
"под столом" ???? ;( Ну это, очевидно, ваш уровень....

Spoiler написал:
Так какого же [ez советуете другим то, чего не знаете? Какой сакральный смысл вашего постинга??

Еще раз перечитайте последнее предложение моего поста.
Я не даю совета.
Я описал набор своих возможных действий в ситуации, если б я попал в такую.
Возможно они и криворуки - но вас бы в этом я не обвинял. И никого бы не винил, ибо попадание в криворукую ситуацию есть результат предыдущих криворуких деяний.

Spoiler написал:
А не попытать ли вам перо на каком-либо более идеологически подходящем ресурсе?

Это совет или указание?

Пойду, забью себя ушами по щекам досмерти....

что-то добрый я сегодня ....

leryc написал:
я не программист и этого не знать - мне не стыдно

Не знать - не стыдно. Стыдно выпячивать своё незнание

Цитата:
Это совет или указание?

Friendly suggestion. Впрочем, в каждой шутке есть доля шутки...

Цитата:
Пойду, забью себя ушами по щекам досмерти

Всё хорошо в меру, а "досмерти" - явный перебор, соблюдайте ТБ

Мы тоже не всего читали Шнитке!.. © В. Вишневский