Сборка glibc

Доброго дня!

Заметил, что glibc компилируется очень долго.. На моей lfs, на ноутбуке процесс занимает около 10-15 минут.
На десктопе с i7-3770k компилируется уже часа 3.
Посмотрел в /var/tmp/portage/sys-libs/glibc-2.15-r3. Судя по всему это чудо компилируется под все архитектуры..
Иначе откуда эти пути:

/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64
/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15/nptl/sysdeps/sparc/sparc32/sparcv9

итд...

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"

Вопрос. Откдуда emerge берёт архитектуру? Не из uname -m ???
В арче из uname как правило.

Второй глупый вопрос, почему в emerge -s gcc - gcc-4.5.2 ? Правильно ли я понимаю, что "самый-самый" надо ставить из оверлея?

Спасибо!

Покажите emerge --info и

Покажите

emerge --info

и файл /etc/make.conf либо /etc/portage/make.conf
Чтобы использовать «свежую» версию gcc, её нужно размаскировать. Хотя в таком случае, IMHO, правильнее размаскировывать всю toolchainlinux-headers, glibc, binutils, libtool

Я Gentoo & Funtoo

Спасибо за отклик!Говорят

Спасибо за отклик!

Говорят поспешишь - людей насмешишь. В данном случае проблема была в том, что glibc собирался в chroot.
После ребута в gentoo там всё прекрасно, быстро, собралось без всяких спарков.

Но подобное поведение для меня большая загадка. Не первый день плаваем, и glibc в chroot собирал ни раз.
(Как правило, когда в lfs что-то меняю/обновляю, то просто копирую на соседний раздел и там в chroot собираю).
proc sys dev были смонтированы. uname -m показывал корректно x86_64.

$ emerge --info
Portage 2.1.11.9 (default/linux/amd64/10.0/no-multilib, gcc-4.5.4, glibc-2.15-r3, 3.4.9-gentoo x86_64)
=================================================================
System uname: 
Timestamp of tree: Fri, 19 Oct 2012 03:45:01 +0000
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CTARGET="x86_64-pc-linux-gnu"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync4.ru.gentoo.org/gentoo-portage"
USE="X acl alsa amd64 apng berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm gtk iconv introspection ipv6 libkms mmx modules mudflap ncurses nls nptl openmp openssl pam pcre pppd readline session sse sse2 ssl tcpd udev unicode xa xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="mmx sse sse2 ssl gtk -qt4 alsa xorg udev libkms xa dri apng openssl zlib X introspection nls"
MAKEOPTS="-j7"

CBUILD="x86_64-pc-linux-gnu"

CTARGET="x86_64-pc-linux-gnu"

SYNC="rsync://rsync2.ru.gentoo.org/gentoo-portage"

SYNC="rsync://rsync4.ru.gentoo.org/gentoo-portage"

GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"

P.S.
gentoo - чудо!

гхрм, а зачем ставить CBUILD

гхрм, а зачем ставить CBUILD и CTARGET? Это только для кросскомпиляции, если CTARGET="$CHOST" это практически не имеет смысла. А вот граблей, судя по вашему посту, может добавить

Нейтральность - высшее достижение сознания!

Это было сделано после

Это было сделано после анализа ebuild.
Без этих переменных тоже собиралось долго.
(Оба раза я накомпилировал > гига и прерывал процесс).

Я предположил, что раз ядро от арча, возможно оно где-то что-то не так определяет, и считает, что идёт кросс-компиляция. К тому же, в ebuild.glibc любезно расписана логика

# Here's how the cross-compile logic breaks down ...
#  CTARGET - machine that will target the binaries
#  CHOST   - machine that will host the binaries
#  CBUILD  - machine that will build the binaries
# If CTARGET != CHOST, it means you want a libc for cross-compiling.
# If CHOST != CBUILD, it means you want to cross-compile the libc.
#  CBUILD = CHOST = CTARGET    - native build/install
#  CBUILD != (CHOST = CTARGET) - cross-compile a native build
#  (CBUILD = CHOST) != CTARGET - libc for cross-compiler
#  CBUILD != CHOST != CTARGET  - cross-compile a libc for a cross-compiler
# For install paths:
#  CHOST = CTARGET  - install into /
#  CHOST != CTARGET - install into /usr/CTARGET/

т.е. хоть это и бессмысленно, но компиляция native build должна была фиксироваться "железно"))
P.S. На самом деле, это и так было понятно. Я же посмотрел логи glibc от configure. Там было всё верно.
(Правда еще была сборка под x86, но после смены профилия на no-multilib осталась только моя архитектура).
Так что небыло оснований считать, что дело в недоопределённых перемнных.

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

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