Компилятором - о грабли

Гента помимо всех достоинств, замечательна еще тем, что способна работать на
> CPU: от i486
> Память: от 64 МБ

И тут как раз подвернулся 3-й пенёк с 256 метрами памяти.

Дальше дело было так:
- загрузился с minimalcd
- настроил eth0
- закачал и распаковал stage3
- начал компилять его - в ответ gcc спотыкается о неведомые грабли и выдает ошибку: "internal compiler error"
- та же трабла при попытке скомпилить stage2 и stage1

Что бы это могло быть? :-o

Вывод по команде emerge --info

Portage 2.1.2.7 (default-linux/x86/2007.0/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686)
=================================================================
System uname: 2.6.19-gentoo-r5 i686 Pentium III (Coppermine)
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 13 Jun 2007 01:47:01 +0000
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.61
sys-devel/automake:  1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -pipe -Bdirect"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=pentium3 -pipe -Bdirect"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache confcache distlocks metadata-transfer sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="ru en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg kde kerberos ldap libg++ mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdf perl png pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl svg tcpd tiff truetype truetype-fonts type1-fonts ucs2 unicode vorbis win32codecs x86 xattr xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" USERLAND="GNU" VIDEO_CARDS="vesa intel ati frglx"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

у ты стейдж

у ты стейдж нетот взял, нужен x86 - а тут у тя CHOST="i686-pc-linux-gnu" конечно работать небудет

Ты не прав

Третий пень - это i686
Попробуй убрать -j2 и поставить кошерные CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
_________________
~? **!

я уже сам понял,

я уже сам понял, 2 потока непричём, я фрам-поинтер убивает дебаг

Мб

Вообще говоря, родной компилер из stage3 должен нормально компилить и с -O9, и с -ffast-math, но попробовать ограничиться приведенным выше набором CFLAGS имхо стоит.

_________________
~? **!

Так пробовал с

Так пробовал с stage1..x86

А какой CHOST должен быть?

что-то туплю -

что-то туплю - глянул у себя, всё так-же, только нет -Bdirect

Что-то все это

Что-то все это мне не очень нравится. Речь идет не о какой-то экзотике, а всего лишь об обычной установке с привлечением компилятора - и на тебе, на ровном месте возникли супер-проблемы, на которые пока никто из знатоков не дал однозначного ответа. А чего же дальше можно ожидать??
Не говорит ли это о низком качестве генты как таковой?

не говорит.

не говорит. если бы олдин из знатоков сел бы твой компьютер, он бы быстро все сделал.
попробуй измени сфлаги на пентиум 3, как выше написанно, пересобери gcc и glibc, потом уже ставь emerge system. у меня были такие грабли не раз, исправляются правильными cflags, chost и пересборкой компилятора.
_________________
Linux ns 2.6.18-suspend2-r1 #2 SMP Sat Feb 3 13:56:55 KRAT 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Теперь и HTC TyTN :) Жалко на Windows Mobile 5.0 :(

Re: не говорит.

S-anches написал(а):
.... если бы олдин из знатоков сел бы твой компьютер, он бы быстро все сделал.

в принципе, можно организовать. Есть желающие? :))

Странно

Во-первых, обо что конкретно спотыкается gcc?

Попробуй следующее:
CFLAGS="-march=pentium3 -O2 -pipe"
/usr/portage/profiles/scripts/bootstrap.sh
emerge -e world
_________________
~? **!

Меня смущает

Меня смущает последовательность действий

Цитата:
- закачал и распаковал stage3
- начал компилять его...

А всякие там настройки ядра, перезагрузки и прочее просто не упомянуты? Или как?

Настройки ядра

Настройки ядра и перезагрузки будут потом. В хендбуке написано.
_________________
Dell Latitude C640, Conrad-Gentoo, reiser4

Что-то я никак

Что-то я никак не могу упомнить пункта "компиляние архива stage3" (-;E

мне что-то тож

мне что-то тож такое не припоминается =) после распоковки stage3 я обычно делаю emerge system, или emerge -e system.
_________________
Linux home 2.6.19-gentoo-r5 #3 SMP Thu Jun 14 21:28:55 KRAST 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Теперь и HTC TyTN :) Жалко на Windows Mobile 6.0 :(

Прямо из-под

Прямо из-под chroot'a? Я тоже, но только когда система уже сама фунциклирует — собрано ядро и всё такое

прям из chroot

прям из chroot ставлю. никаких проблем, никогда. потом только собираю ядро, ставлю груб сислог и крон, потом перезагружаюсь.
просто учился ставить по старой доке, давно, тогда еще у Меня 2005.1 вроде был диск. а теперь вообще без доки генту ставлю.
_________________
Linux home 2.6.19-gentoo-r5 #3 SMP Thu Jun 14 21:28:55 KRAST 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Теперь и HTC TyTN :) Жалко на Windows Mobile 6.0 :(

Собсно зря.

Собсно зря. Первый стаж сделан для тех кто хочет свою системку собирать с ноым компилером и глибц. После бутстрапа получается нечто минимальное, готовое собирать системку дальше. Стаж 2 называется. После сборки собсно системы (emerge -e system) стаж3. Самое время поставить сурсы ядра и все такое. Писано в хендбуке. Затем сборка всего остального по желанию (это от того , что у остального могут возникнуть потребности в сурсах ядра). То что вы пытаетесь сделать ето как бы пересборка мира ограниченного system. Смысл этого немного непонятен, но тем не менее.

Значит необходимо определиться на каком пакете отвал. А то у меня с телепатией туго. Если не на сборке glibc и gcc м можно попробовать запустить bootstrap. Страшного ничего не произойдет, пересоберет компилятор и gcc дважды (новый компилер со старой либой, новую либу новым компилером, затем новый компилер с не очень новой либой, и потом нову либу). Типа предупредительный выстрел в лоб на всякий случай. Ежели отвалится бутсрап - придется делать это руками, включая-отключая юсы по сообщениям. Частенько валится сборка системы с флагом -e (при переходе со тажа 2 на 3). У вас маловероятно поскольку стаж 3 уже был. По простому как правило лечится двойной пересборкой системы (без опции -e , затем с опцией), а по правильному без логов отвала никак.

ЗЫ
При выборе флагов посмотрите вывод cat /proc/cpuinfo. Особое внимание обратить на наличие всяких там mms и sse. Дело в том что код, к примеру с поддержкой sse2, прекрасно собирается и работает на машинках без поддержки оного. До первого вызова инструкции sse2. Затем сегфолт :). Весьма непредсказуемое поведение.

Поставил

Поставил настройки по TolicH, в итоге получил:

Цитата:
Automaton `athlon_fp'
15522 NDFA states, 99908 NDFA arcs
15522 DFA states, 99908 DFA arcs
463 minimal DFA states, 3038 minimal DFA arcs
273 all insns 21 insn equivalence classes
3057 transition comb vector els, 9723 trans table els: use comb vect
3057 state alts comb vector els, 9723 state alts table els: use comb vect
9723 min delay table els, compression factor 1

17533 all allocated states, 102661 all allocated arcs
32710 all allocated alternative states
6256 all transition comb vector els, 16780 all trans table els
6256 all state alts comb vector els, 16780 all state alts table els
16780 all min delay table els
0 locked states num

transformation: 0.030000, building DFA: 32.450000
DFA minimization: 1.300000, making insn equivalence: 0.000000
all automaton generation: 34.210000, output: 0.220000
/bin/sh /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/../move-if-change tmp-attrtab.c insn-attrtab.c
insn-attrtab.c is unchanged
echo timestamp > s-attrtab
stage1/xgcc -Bstage1/ -B/usr/i686-pc-linux-gnu/bin/ -march=pentium3 -O2 -pipe -fprofile-generate -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H -I. -I. -I/var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc -I/var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/. -I/var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/../include -I/var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc/../libcpp/include -c insn-attrtab.c \
-o insn-attrtab.o
{standard input}: Assembler messages:
{standard input}:33434: Warning: end of file not at end of a line; newline inserted
xgcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See for instructions.
make[2]: *** [insn-attrtab.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'
make[1]: *** [stageprofile_build] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'
make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.
Call stack:
ebuild.sh, line 1615: Called dyn_compile
ebuild.sh, line 972: Called qa_call 'src_compile'
ebuild.sh, line 44: Called src_compile
ebuild.sh, line 1305: Called toolchain_src_compile
toolchain.eclass, line 26: Called gcc_src_compile
toolchain.eclass, line 1541: Called gcc_do_make
toolchain.eclass, line 1415: Called die

!!! emake failed with profiledbootstrap
!!! 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-devel/gcc-4.1.2/temp/build.log'.

Смутило появление надписи "athlon_fp"

mm.. #df -h #mount

mm..
#df -h
#mount

mm.. #df -h #mount

mm..
#df -h
#mount

livecd gentoo # df

livecd gentoo # df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 125M 32M 94M 26% /
/dev/hdc 58M 58M 0 100% /mnt/cdrom
/dev/loop0 44M 44M 0 100% /mnt/livecd
udev 125M 548K 125M 1% /dev
tmpfs 125M 2.1M 123M 2% /mnt/livecd/lib/firmware
tmpfs 125M 0 125M 0% /mnt/livecd/usr/portage
/dev/hda3 11G 2.0G 8.6G 19% /mnt/gentoo
livecd gentoo # mount
tmpfs on / type tmpfs (rw)
/dev/hdc on /mnt/cdrom type iso9660 (ro)
/dev/loop0 on /mnt/livecd type squashfs (ro)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
tmpfs on /mnt/livecd/lib/firmware type tmpfs (rw)
tmpfs on /mnt/livecd/usr/portage type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
/proc on proc type none (rw,bind)
/dev/hda3 on /mnt/gentoo type reiserfs (rw)
/proc on proc type none (rw,bind)
/sys on /mnt/gentoo/sys type none (rw,bind)
/dev on /mnt/gentoo/dev type none (rw,bind)

Please submit a full bug report

Да уж, ничего иного, кроме сабжа, делать не остаеццо имхо. Сходи до багзиллы, мб что-нибудь посоветуют.
_________________
~? **!

Если проблема

Если проблема всё ещё актуальна, то убери -pipe из цфлагов. Токо может кончиться память. Если чо - добавь свопу.

Если проблема

Если проблема всё ещё актуальна, то убери -pipe из цфлагов. Токо может кончиться память. Если чо - добавь свопу.

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

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