Переход на NPTL

Делаю переход согласно руководства http://ru.gentoo-wiki.com/HOWTO_Переход_на_NPTL

Все шаги прошли успешно, за исключением
# emerge glibc

Вот на чем споткнулся:

gcc ../sysdeps/unix/sysv/linux/sa_len.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-al
iasing -march=nocona -mtune=i686 -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2  -fPIC    -I../include -I/var/tmp/por
tage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket -I/var/tmp/portage/sys-libs/glibc-2.5/work/b
uild-default-i686-pc-linux-gnu-linuxthreads -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../sysdeps
/unix/sysv/linux/i386 -I../ports/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/
pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I
../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv/i386 -I../ports/sysdeps/unix/sysv -I../linuxthr
eads/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../ports/sysdeps/unix -I../linuxthreads/sysdeps/unix -
I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../linuxthreads/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I.
./sysdeps/i386/i486 -I../linuxthreads/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../linuxthreads/sysdeps/i386 -I../sysdeps/i38
6 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/
ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../linuxthreads  -I.. -I../libio -I. -nostdinc -isystem /u
sr/lib/gcc/i386-pc-linux-gnu/4.1.1/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h  -DPIC
-DSHARED     -o /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/sa_len.os -MD -M
P -MF /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/sa_len.os.dt -MT /var/tmp/
portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/sa_len.os
<command line>:1: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
.././scripts/mkinstalldirs /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket
echo 'socket/accept.o socket/bind.o socket/connect.o socket/getpeername.o socket/getsockname.o socket/getsockopt.o socket/lis
ten.o socket/recv.o socket/recvfrom.o socket/recvmsg.o socket/send.o socket/sendmsg.o socket/sendto.o socket/setsockopt.o soc
ket/shutdown.o socket/socket.o socket/socketpair.o socket/isfdtype.o socket/opensock.o socket/sockatmark.o socket/cmsg_nxthdr
.o socket/sa_len.o' > /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/stamp.oT
mv -f /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/stamp.oT /var/tmp/portage/
sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/stamp.o
The bug is not reproducible, so it is likely a hardware or OS problem.
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-linuxthreads/socket/sa_len.os] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.5/work/glibc-2.5/socket'
make[1]: *** [socket/subdir_lib] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.5/work/glibc-2.5'
make: *** [all] Error 2

!!! ERROR: sys-libs/glibc-2.5 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_compile
  ebuild.sh, line 971:   Called qa_call 'src_compile'
  environment, line 4075:   Called src_compile
  glibc-2.5.ebuild, line 1130:   Called toolchain-glibc_src_compile
  glibc-2.5.ebuild, line 235:   Called die

!!! make for default failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.5/temp/build.log'.

Это моя ошибка в чем-то? Или действительно баг?

P.S. Извините за длинный пост.

проблема может

проблема может быть в флаге -fPIC
хотя у меня все собралось нормально с этим флагом
_________________

acer aprire 3002 (sempron 3000, 2Gb, sis, 80Gb)

А как его

А как его отключить?

мой /etc/make.conf

CFLAGS="-march=nocona -O3 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j5"

Это ВЕСЬ make.conf?

Это ВЕСЬ make.conf? O_O

Почти.А вы

Почти.

Раз у вас большой, то вы наверно точно знаете ответ? ;)

это... use-флаги

это... use-флаги юзай :))
у меня так:
USE="7zip aac aalib alsa amarok branding bzip2 cairo dvdread firefox ffmpeg glitz imagemagick imlib
java javascript jpeg2k jpeg kde kdepim lame lm_sensors mmx mozbranding moznopango
musepack musicbrainz nvidia ogg opengl pda pdf png qt3 qt4 scenarios smp sndfile sound speex spell sse sse2 svg svga
symlink theora tiff truetype usb userlocales unicode vcd visualization win32codecs
X xcomposite xgl xprint xvid -aiglx -arts -dvdr -eds -emboss -esd -gnome
-gstreamer -gtk -ipv6 -oss"

Ясно, но только

Ясно, но только речь не о USE.

Значит так, по

Значит так, по рукодоству на wiki успешно перешел на i686 с i386,
обновил glibc, gcc, linix-headers, ...
далее:
emerge -e world
emerge -av1 python
emerge -av portage-utils

Но, NPTL так и не появился:
# /lib/libc.so.6
GNU C Library stable release version 2.5, by Roland McGrath et al.
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.1.2 (Gentoo 4.1.2).
Compiled on a Linux >>2.6.19-gentoo-r5-1<< system on 2007-03-19.
Available extensions:
C stubs add-on version 2.1.2
crypt add-on version 2.1 by Michael Glad and others
Gentoo patchset 1.4
GNU Libidn by Simon Josefsson
GNU libio by Per Bothner
linuxthreads-0.10 by Xavier Leroy
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B
Thread-local storage support included.
For bug reporting instructions, please see:
.

# emerge --newuse world
Calculating world dependencies... done!
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.

Какие еще могут быть мысли по поводу включения NPTL?

Нужно было еще

Нужно было еще профиль сменить с no_nptl.

ну то хауту

ну то хауту мягко говоря слегка устарело...
кстати как и хауту про локализацию...
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)

А что в нем не

А что в нем не так?

Хы. Системе

Хы. Системе сколько лет? Если много то не трахай мозг, и просто emerge -e world

3 дня.

3 дня.

кроме всего

кроме всего прочего, оптимизация -O3
особого смысла не имеет делать поскольку в большинстве исходников все равно стоит -O2 - это можно увидеть первом посте при компиляции глибс,
возможно несистемные приложения будут собираться с -O3, но особого прироста заметно все-равно не будет, да и компиляция дольше чем с -O2..

а это MAKEOPTS="-j5" мне вообще непонятно..
у вас что 4 ядра ? если 2 ядра поставьте -j3, если очень хочется -j4
_________________

acer aprire 3002 (sempron 3000, 2Gb, sis, 80Gb)

Re: кроме всего прочего

Kee_Keekkenen написал(а):
кроме всего прочего, оптимизация -O3
особого смысла не имеет делать поскольку в большинстве исходников все равно стоит -O2 - это можно увидеть первом посте при компиляции глибс,
возможно несистемные приложения будут собираться с -O3, но особого прироста заметно все-равно не будет, да и компиляция дольше чем с -O2..

Согласен, что почти всегда будет использоваться O2, но особо, общему процессу не мешает.

Цитата:
а это MAKEOPTS="-j5" мне вообще непонятно..
у вас что 4 ядра ? если 2 ядра поставьте -j3, если очень хочется -j4

Да, процессор 4-х ядерный.

1 glibc все равно

1 glibc все равно собираться будет с -O2 вне зависимости от того что стоит в флагах компилятора тк другие опции фильтруюсться...
2 формула для мейка -jN N=numcpu+1 работает только для старых процессоров....
так что если стоит что то новое типа PentiumD Athlon X2 Core2 и тп то можно ставить и большие значения... тк при старой формуля процессор большую часть времени простаивать будет...
3 относительно флагов
я давно сижу с агрессивными флагами сборки на десктопе и косяки были только с двумя узкоспециализированными софтинами софтинами...
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".