Вы здесь

При обновлении мира каждый раз пересобирается glibc

Недавно пытался завести valgring (так и не вышло), и нужно был по разному собирать glibc.
Теперь он у меня постоянно пытается пересобраться, в чем может быть проблема?

Вот что пишется при обновлении:

[ebuild   R    ] sys-libs/glibc-2.14.1-r2  USE="debug nls* -gd -glibc-omitfp (-hardened) (-multilib) -profile (-selinux) -vanilla" 0 kB

Если вы еще не забыли то пакет из ~arch и вполне может багом\фичой. Суть не в этом : если у вас все собралось и работает, то просто оставьте систему в покое и наслаждайтесь Дженту.
Смотрите зависимости пакетов и юз флагов и глобальных тоже (ufed); ну и revdep-rebuild конечно же.
С Рождеством!

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

Первые два флага - "debug nls*" - один красный, другой зелёный, остальные синие, так ведь, угадал?

Ну да

Это был как бы намёк. Как мы все знаем, зелёный цвет означает, что флаг НОВЫЙ, то есть пакет собран БЕЗ этого флага.
Например, если вы перейдёте в /var/db/pkg/sys-libs/glibc-* вы увидите много собранной информации о фактической установке.
В частности, в файлах IUSE и USE (уж не помню, в котором из них что) можно увидеть флаги, с которыми УЖЕ собран sys-libs/glibc.
И зелёный флаг должен отсутствовать хотя бы в одном из {IUSE,USE}
И значит с тех пор, как появился зелёный флаг пакет успешно не собрался до конца НИ РАЗУ, иначе флаг бы попал в оба {IUSE,USE} и больше не был бы зелёным.

Если же вы ДЕЙСТВИТЕЛЬНО наблюдаете, как пакет безошибочно собирается, а флаг не попадает в /var/db/pkg/sys-libs/glibc-*/{IUSE,USE} значит у вас какая-то беда. :(
Впрочем, хм, как мы все знаем, нестабильные sys-libs/glibc это само по себе БЕДА. Да будет Ulrich Drepper милосерден к вам, аминь.

Что значит постоянно? Вот сейчас, как я понимаю, он хочет собраться с nls. Что будет если пересобрать?

Пишу
sudo emerge -uNDv world
и каждый раз собирается glibc

Тупо каждый. Вот собрался он, сразу же ввожу команду выше, и опять он...

А он точно собирается? Или валится при сборке?

Та не, норм собираеться.

не-ве-рю Выложи куданибудь полный лог установки. Можно, в принципе начало установки с парой десятков строк сборки, и потом в конце - пару десятков строк сборки, тест, инсталл и всё прочее, до момента появления приглашения от консоли

эм...
это через elog нужно смотреть?

FEATURES=keeptemp emerge -1 имя_пакета
далее выкладываем куданить /var/tmp/portage/категория/имя_пакета/temp/build.log

А вот как это выглядит в нормальной ситуации:

   usr/lib32/libieee.a
   usr/lib32/libBrokenLocale.a
   usr/lib32/libc_nonshared.a
   usr/lib32/libc.a
>>> Completed installing glibc-2.13-r4 into /var/tmp/portage/sys-libs/glibc-2.13-r4/image/

ecompressdir: bzip2 -9 /usr/share/info
ecompressdir: bzip2 -9 /usr/share/man
making executable: usr/lib32/libc.so
making executable: usr/lib32/libpthread.so
making executable: usr/lib64/libc.so
making executable: usr/lib64/libpthread.so

>>> Installing (1 of 1) sys-libs/glibc-2.13-r4
/var/tmp/portage/sys-libs/glibc-2.13-r4/image/lib64 /
/
/var/tmp/portage/sys-libs/glibc-2.13-r4/image/lib64 /
/
/var/tmp/portage/sys-libs/glibc-2.13-r4/image/lib64 /
/
/var/tmp/portage/sys-libs/glibc-2.13-r4/image/lib64 /
/
 * >>> SetUID: [chmod go-r] /usr/lib64/misc/glibc/pt_chown ...    [ ok ]
 * >>> SetUID: [chmod go-r] /usr/lib32/misc/glibc/pt_chown ...    [ ok ]
 * Generating locale-archive: forcing # of jobs to 1
 * Generating 3 locales (this might take a while) with 1 jobs
 *  (1/3) Generating en_US.UTF-8 ... [ ok ]
 *  (2/3) Generating ja_JP.UTF-8 ... [ ok ]
 *  (3/3) Generating ru_RU.UTF-8 ... [ ok ]
 * Generation complete
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...
 * Processed 125 info files.
x220 ~ # 

Тоесть пакет у тебя собирается, но не устанавливается. Почему - вопрос.

Интересен выхлоп dmesg после сборки glibc, на предмет аномалий.

RazrFalcon написал:
http://dl.dropbox.com/u/16019144/build_log

Интересно, а для кого это в выхлопе написано:

ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libmcheck.a.debug': File exists
...
ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libc_stubs.a.debug': File exists
...
ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libieee.a.debug': File exists

Удалите эти хардлинки в /usr/lib/ вручную, после чего всё нормально пересоберётся. Только позвольте узнать - а зачем вам, собсна, debug, да ещё в такой основополагающей штуке, как glibc?

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

valgrind

eegorov написал:
valgrind

Наск-ко я понял из открывающего поста, ТС отказался от его использования? Как ни крути, debug - штука отнюдь не безобидная в ресурсном смысле, поск-ку реализуется путём перехвата исключений, а это весьма дорого (особенно в критичных по времени исполнения участках кода). Так что, если нет насущной осознанной необходимости, debug отключать бы надо...

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

Ну, насчет USE=debug — полностью согласен. Не нужно оно
2ТС:

USE=-debug FEATURES=splitdebug CFLAGS="-march=native -O2 -g" emerge -1 glibc

Дебаг нужен для дебага и valgrind.

ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libmcheck.a.debug': File exists
   usr/lib/libc_stubs.a
ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libc_stubs.a.debug': File exists
   usr/lib/libieee.a
ln: failed to create hard link `/var/tmp/portage/sys-libs/glibc-2.14.1-r2/image/usr/lib/debug/usr/lib/libieee.a.debug': File exists

Удаляю через sudo rm.
Компилю снова - та же ошибка.

RazrFalcon написал:
Удаляю через sudo rm

А оно удалилось? Проверьте всё же... И, убедившись, соберите тем ни менее glibc без дебага - пусть всё сначала нормально проканает (если, конечно, проканает), и уж после этого можно будет вернуться к варианту с debug

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

Собрал без debug - все тоже. Только теперь зеленым стал и дебаг. И те файлы опять не могут скинуться...

RazrFalcon написал:
Собрал без debug - все тоже ...skipped.. И те файлы опять не могут скинуться...

Без debug те файлы и собираться-то не должны... Вы, кстати, проверили их реальное отсутствие?

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

Их нет в папке, смотрел через ls и dolphin
Я вообще не пойму когда они появляются.

попробуй собрать просто бинарь, указав ключ -B а потом установив, через -K
Увидим где именно косяк, наверное.

Упс - не туда посмотрел ;)

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

У вас профиль выбран ?
Проверьте ещё раз и на всякий случай в любом случае выставьте заново.

eselect profile list
eselect profile set 

Затем переустановите glibc, если нужно будет.

$ eselect profile list
Available profile symlink targets:
  [1]   default/linux/x86/10.0
  [2]   default/linux/x86/10.0/selinux
  [3]   default/linux/x86/10.0/desktop
  [4]   default/linux/x86/10.0/desktop/gnome
  [5]   default/linux/x86/10.0/desktop/kde *
  [6]   default/linux/x86/10.0/developer
  [7]   default/linux/x86/10.0/server
  [8]   hardened/linux/x86
  [9]   hardened/linux/x86/selinux

Раньше то все было норм.

Вы сделали то, о чём я вам написал ?

Да. Все тоже...

df -i

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Filesystem      Inodes  IUsed   IFree IUse% Mounted on
rootfs         1545264 479890 1065374   32% /
udev            221603    841  220762    1% /dev
/dev/sda1      1545264 479890 1065374   32% /
rc-svcdir       221603     66  221537    1% /lib/rc/init.d
cgroup          221603      2  221601    1% /sys/fs/cgroup
tmpfs           221603      5  221598    1% /dev/shm
/dev/sda2      6873088  98180 6774908    2% /media/data