CHOST и последствия

Согласно доке
http://www.gentoo.org/doc/en/change-chost.xml
и http://en.gentoo-wiki.com/wiki/Safe_Cflags/AMD#Athlon_64_X2
сделал CHOST="x86_64-pc-linux-gnu" (было i686-pc-linux-gnu)

далее emerge -av1 binutils gcc glibc
После сборки binutils далее ничего не хочет собираться. gcc и glibc не собрались, я поменял CHOST обратно, но не помогло.
В смысле при сборке любого пакета одно и то же вылазит
например:

emerge gqview
...

checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/media-gfx/gqview-2.1.5/work/gqview-2.1.5/config.log
*
* ERROR: media-gfx/gqview-2.1.5 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2124: Called econf '--disable-dependency-tracking' '--with-lcms'
* ebuild.sh, line 543: Called die
* The specific snippet of code:
* die "econf failed"
* The die message:
* econf 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/media-gfx/gqview-2.1.5/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-gfx/gqview-2.1.5/temp/environment'.
*

>>> Failed to emerge media-gfx/gqview-2.1.5, Log file:

>>> '/var/tmp/portage/media-gfx/gqview-2.1.5/temp/build.log'

смотрю config.log на предмет ошибок:

localhost / # cat /var/tmp/portage/media-gfx/gqview-2.1.5/work/gqview-2.1.5/config.log | grep -i error
Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
distcc[10904] ERROR: compile (null) on localhost failed
{standard input}:10: Error: suffix or operands invalid for `push'
{standard input}:11: Error: suffix or operands invalid for `push'
{standard input}:13: Error: suffix or operands invalid for `push'
{standard input}:14: Error: suffix or operands invalid for `pop'
distcc[10915] ERROR: compile conftest.c on localhost failed
configure:2237: error: C compiler cannot create executables

Странности binutils-config:

localhost / # binutils-config -l
[1] x86_64-pc-linux-gnu-2.18 *
localhost / # binutils-config -c
* binutils-config: No binutils profile is active!
localhost / # binutils-config 1
* Switching to x86_64-pc-linux-gnu-2.18 ... [ ok ]
localhost / # binutils-config -c
* binutils-config: No binutils profile is active!
localhost / #

Так понимаю что у меня должен быть профиль binutils какой-то типа i686-pc-linux-gnu
но его почему-то нет :-(

localhost / # gcc-config -l
[1] i686-pc-linux-gnu-4.1.2 *
localhost / # gcc-config -c
i686-pc-linux-gnu-4.1.2
localhost / #

Надеюсь на помощь, подскажите как должно быть и в какую сторону смотреть ?

Перейти с x86 на amd64

Перейти с x86 на amd64 нельзя. Переустанавливайте систему.

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

попал на эти грабли)))

попал на эти грабли)))
Вопрос: как восстановить binutils без преустановки системы?
У меня gcc остался старый i686... а binutils только 1 профиль x86_64. Я так понимаю не собирается все из-за того, что бинутилс 64 битный. Можно ли как то из Stage3 его запихнуть? Уже все перерыл, нигде не могу найти инфу по восстановлению.

>>Можно ли как то из Stage3

>>Можно ли как то из Stage3 его запихнуть? Уже все перерыл, нигде не могу найти инфу по восстановлению.
В принципе можно.
1) сдвинуть корень в /oldroot.
2) распаковка стейжа3
3) mount -o bind старый портаж из олдрут, поднять с oldroot копи. мейкфайлов ,/etc/portage и профилей, пересобрать бинутилс со сборкой бинарного пакета.
4) распаковать пакет в олдруут
5) Размонтировать все что намонтировал,
6) сдвинуть сборочный корень в сторону
7 Вернуть олдрут на место.

Кажется все.
Можно не двигать, а собрать все из стейжа 3 но не в корне а в каком нить пустом каталоге. Как и что делать писано в хендбуке.
Ежели не двигать корень то можно попробовать обойтись без лайва.

что делать?

вопрос: как можно починить систему, без переустановки? Почему binutils-config не отрабатывает?
Если нельзя обойтись без переустановки, то как проще всего переустановить систему? Развернуть stage3, скопировать portage и etc в stage и пересобрать мир?

я решил проблему с

я решил проблему с использованием похожей машинки.
на ней сделал equery f binutils > binutils-filelist
полученный список файлов затарил и перетащил на "сломанную" машинку.
gcc снова стал собирать. но на 64х битную арх. так перейти плавно и не удалось. )

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

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