# make.conf

## zubator

имеем make.conf такой:

USE="a52 aac acpi acl apache2 avi alsa -arts audiofile bzlib caps cdr crypt ctype curl cups direcfb imap glut gif flac gtk2 mp3 mmx java tcltk doc qt kde opengl pam X sse pic dvd cdr samba slp win32codecs sdl ssl"

CFLAGS="-O2 -mcpu=i386 -fomit-frame-pointer -funroll-loops -pipe"

CHOST="i386-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

пришла в голову мысли поменять 

CFLAGS="-O2 -mcpu=i386 -fomit-frame-pointer -funroll-loops -pipe"

CHOST="i386-pc-linux-gnu"

на

CFLAGS="-O2 -mcpu=i586 -fomit-frame-pointer -funroll-loops -pipe"

CHOST="i586-pc-linux-gnu"

потом перекомпилировал gcc, но в ld.so.conf всеравно осталась запись 

/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5-20050130

причем, когда я пытался например выполнить какую нить команду, например etc-update мне выдавалось что библиотека libstdc++ не найдена, приходилось вручную прописывать что теперь у меня /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5-20050130 выполнять ldconfig далее опять все работало до следующего emerge и далее опять все покругу, пришлось обратно откатиться.

Вопрос: в чем моя кривость заключается?

----------

## ManJak

 *zubator wrote:*   

> имеем make.conf такой:
> 
> USE="a52 aac acpi acl apache2 avi alsa -arts audiofile bzlib caps cdr crypt ctype curl cups direcfb imap glut gif flac gtk2 mp3 mmx java tcltk doc qt kde opengl pam X sse pic dvd cdr samba slp win32codecs sdl ssl"
> 
> CFLAGS="-O2 -mcpu=i386 -fomit-frame-pointer -funroll-loops -pipe"
> ...

 

А что, после пересборки сказал:

#gcc-config -l

???

----------

## zubator

ну точно что он сказал я не могу вспомнить, но могу написать чуть попозже, когда снова попробую перейти на 586, ок?

----------

## hlroad

 *zubator wrote:*   

> Вопрос: в чем моя кривость заключается?

 

В неумении читать ?

Для кого написато:

 *Quote:*   

> Warning: Although it might be tempting for non-stage1 users, they should not change the CHOST setting in make.conf. Doing so might render their system unusable. Again: only change this variable if you use a stage1 installation.

 

Смена CHOST приводит к тому, что система "рассыпается" (симптомы описаны в сообщениях выше). Единственный надежный выход - начать с bootstrap.sh и "переустановить" систему по полной программе (с двумя перекомпиляциями glibc и всеми прочими прелестями). Это не баг - это фича.

----------

## zubator

хм....да этого я не видел даже примерно, спасибо, придется пока так посидеть, потом че нить придумаю

----------

## ManJak

них...чего-себе  :Confused: 

Это рулит  :Crying or Very sad: 

Интересно, с чем-же это связанно?

----------

## hlroad

Дык эта. CHOST попадет в название gcc, библиотек perl'а и python'а - и т.д. и т.п. Потому его сменить не так-то просто: при смене система начианет "терять" библиотеки gcc и python'а, perl'а и binutils - в общем полный разброд и шатание. Потому смена его должна осуществляться строго скриптом bootstrap.sh - с последующей полной пересборкой системы.

P.S. Выделение красным цветом не я придумал - так в Handbook'е (шоб не пропустили). Как видим не помогает  :Confused: ...

----------

## Nelud

Ну, не обязательно бутстрапом  :Smile:  Но пересборка всей системы - это да.

Просто делаешь два раза emerge -e system. Когда пойдут ошибки про версии библиотек, то fix_libtool_files.sh. Потом emerge -e world. Ещё, по-моему, groff может не собраться - лечится удалением x11-xorg (потом всё равно xorg подцепится когда world будешь пересобирать)

Всё вышесказанное - из личного опыта смены CHOST.

----------

## hlroad

 *Nelud wrote:*   

> Ну, не обязательно бутстрапом  Но пересборка всей системы - это да.
> 
> Просто делаешь два раза emerge -e system.

 

 :Rolling Eyes:  Ну можно гланды удалять разными способами, это да. Но! bootstrap.sh - это штука, специально заточенная под смену CHOST'а с сохранением системы в "минимально рабочем состоянии" - чтобы gcc и portage работали. Больше никаких отличий stage1 и stage2 ведь нет  :Smile: .

P.S. Речь не идет о "сносе всего на свете": просто представь, что у тебя вместо работающей системы только что раскатан stage1 - и дальше по инструкции в Handbook'е.

----------

## Davidov

 *hlroad wrote:*   

> Смена CHOST приводит к тому, что система "рассыпается" (симптомы описаны в сообщениях выше). Единственный надежный выход - начать с bootstrap.sh и "переустановить" систему по полной программе (с двумя перекомпиляциями glibc и всеми прочими прелестями). Это не баг - это фича.

 

Ну не всё так страшно. Поменял CHOST месяц назад, потом не получилось откомпилировать blackbox.

Пересборка gcc, glibc, потом ещё пару пакетов (которые не грузились).

Короче, на практике можно, но будь готов  :Smile:  У меня, вот, даже emerge в какой-то момент перестал работать, т.к. питон не мог найти либы, прописал в ld.so.conf, пересобрал питон и т.д.

----------

