View previous topic :: View next topic |
Author |
Message |
hlroad Tux's lil' helper
Joined: 28 Sep 2004 Posts: 105
|
Posted: Tue Jun 28, 2005 7:27 pm Post subject: |
|
|
YD wrote: | Какой версией GCC она собрана - неважно. Главное чтобы собраная либа была небитая. |
Увы и ах, но это - неправда. "The C++ ABI Section 3.3.3 specifications for the array construction routines __cxa_vec_new2 and __cxa_vec_new3 were changed to return NULL when the allocator argument returns NULL. These changes are incorporated into the libstdc++ runtime library". Это значит, что даже если вы умудритесь собрать старую версию libstdc++ с помощью новой версии gcc (3.4.x), то старые программы её использовать не смогут все равно. Потому пакет sys-libs/libstdc++-v3-3.3.4 собирается "с полной боевой выкладкой": собирается сначала gcc 3.3.x, затем с его помощью собирается libstdc++, после чего сам gcc 3.3.x выбрасывается. Впрочем там есть такой код:
Code: |
# and on x86, we just need to filter the 3.4 specific amd64 -marchs
replace-cpu-flags k8 athlon64 opteron x86-64
# gcc 3.3 doesn't support -march=pentium-m
replace-cpu-flags pentium-m pentium3m pentium3
#GCC 3.3 does not understand G3, G4, G5 on ppc
replace-cpu-flags G3 750
replace-cpu-flags G4 7400
replace-cpu-flags G5 7400
|
то есть руками править CFLAGS для этого пакета не нужно - это уже сто лет назад пофиксили, а я и не заметил . |
|
Back to top |
|
|
YD Guru
Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Tue Jun 28, 2005 8:46 pm Post subject: |
|
|
(: Ну это само собой. Мы же не говорим конкретно о самой либе. А об ebuild'e. Чтобы его собрать не требуется установленного GCC3.3. |
|
Back to top |
|
|
3BEPb n00b
Joined: 20 Jun 2005 Posts: 50
|
Posted: Wed Jun 29, 2005 1:29 pm Post subject: |
|
|
Сделал как написано здесь:
http://gentoo-wiki.com/HOWTO_Migrate_to_GCC_3.4
Те. установил новый и полностью удалил старый компилятор.
Потом
emerge -e system && emerge -e world
Всё собралось без вопросов.
А ну да, у меня так
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
MAKEOPTS="-j2"
Причём теже флаги стоят с самого начала, с первого стейджа. С компилятором 3.3.5. |
|
Back to top |
|
|
Metallic Tux's lil' helper
Joined: 08 Jun 2004 Posts: 76
|
Posted: Wed Jun 29, 2005 3:57 pm Post subject: |
|
|
Да, но если флаги изменятся, т.е. gcc 3.3.x pentium-m не поддерживается, а в 3.4.x поддерживается то возникает куча нюансов. _________________ «Две вещи, изменившие миp, были созданы в Беpкли: LSD и Unix. Вpяд ли это случайное совпадение». Jeremy S. Anderson
Neverlands.RU |
|
Back to top |
|
|
3BEPb n00b
Joined: 20 Jun 2005 Posts: 50
|
Posted: Wed Jun 29, 2005 4:15 pm Post subject: |
|
|
Metallic wrote: | Да, но если флаги изменятся, т.е. gcc 3.3.x pentium-m не поддерживается, а в 3.4.x поддерживается то возникает куча нюансов. |
Хммм, каких нюансов именно?
Насколько я помню раньше было mcpu=cputype теперь стало march=cputype .
В любом случае придёться world пересобирать, что-бы было всё корректно.
Что касаемо стабильности сабжа то я ещё неделю назад сидел на Слаквари, весь гуи которого был собран 3.4.х, со стабильностью было всё в полном порядке, начиная с 3.4.0 , те. примерно пол года. |
|
Back to top |
|
|
Metallic Tux's lil' helper
Joined: 08 Jun 2004 Posts: 76
|
Posted: Wed Jun 29, 2005 6:14 pm Post subject: |
|
|
3BEPb wrote: | Metallic wrote: | Да, но если флаги изменятся, т.е. gcc 3.3.x pentium-m не поддерживается, а в 3.4.x поддерживается то возникает куча нюансов. |
Хммм, каких нюансов именно?
Насколько я помню раньше было mcpu=cputype теперь стало march=cputype .
В любом случае придёться world пересобирать, что-бы было всё корректно.
Что касаемо стабильности сабжа то я ещё неделю назад сидел на Слаквари, весь гуи которого был собран 3.4.х, со стабильностью было всё в полном порядке, начиная с 3.4.0 , те. примерно пол года. |
gcc 3.3.x не знает что такое pentium-m, а gcc 3.4.x знает. Поэтому возникает много неудобств. _________________ «Две вещи, изменившие миp, были созданы в Беpкли: LSD и Unix. Вpяд ли это случайное совпадение». Jeremy S. Anderson
Neverlands.RU |
|
Back to top |
|
|
3BEPb n00b
Joined: 20 Jun 2005 Posts: 50
|
Posted: Wed Jun 29, 2005 6:30 pm Post subject: |
|
|
Этт то как раз всё понятно, мне непонятно как это повлияет на стабильность системы? Ну собрано одно одним, другое другим и черт с ним %) и ладно.
Те. меня интересуют именно эти нюансы которые могут повлиять на систему в целом. |
|
Back to top |
|
|
YD Guru
Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Wed Jun 29, 2005 10:17 pm Post subject: |
|
|
3BEPb wrote: |
Насколько я помню раньше было mcpu=cputype теперь стало march=cputype .
|
чего чего? Было -mcpu стало -march ?
Может было -mcpu стало -mtune ? Но обратная совместимость вроде осталось + -march как был так и остался. |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Wed Jul 06, 2005 3:54 am Post subject: |
|
|
У меня такая же проблемы была: хочет ставиться 3.3 и все! Вылечил так:
Code: | echo =sys-libs/libstdc++-v3-3.3.3-r1 ~x86 >> /etc/portage/package.keywords |
http://gentoo-portage.com/sys-libs/libstdc++-v3
Quote: | Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++ |
|
|
Back to top |
|
|
|