include/linux/compiler-gcc4.h:7:3: error: #error Your version of gcc miscompiles the __weak directive
nike 5 июня, 2009 - 12:42
Всех приветствую.
Надо поставить ядро 2.6.29.Х. Взял из портеджей gentoo-sources 2.6.29-r5. Пытаюсь компилить и вот что вылазиет:
nike linux # make HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/lex.zconf.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf -s arch/x86/Kconfig # # configuration written to .config # CHK include/linux/version.h UPD include/linux/version.h CHK include/linux/utsrelease.h UPD include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 CC kernel/bounds.s In file included from include/linux/compiler-gcc.h:86, from include/linux/compiler.h:40, from include/linux/stddef.h:4, from include/linux/posix_types.h:4, from include/linux/types.h:11, from include/linux/page-flags.h:8, from kernel/bounds.c:9: include/linux/compiler-gcc4.h:7:3: error: #error Your version of gcc miscompiles the __weak directive make[1]: *** [kernel/bounds.s] Ошибка 1 make: *** [prepare0] Ошибка 2 nike linux # nike linux # pwd /usr/src/linux
Первое что пришло в голову: надо обновить гцц. Обновил вместе с glic. И не помогло, та же фигня. Думал может чо с патчами намудрили гентовцы в этом ядре, взял чистое ядро с kernel.org такой же версии, пытался компилить его - вылазиет тоже самое. Подскажите как мне его всё таки поставить?
»
- Для комментирования войдите или зарегистрируйтесь
с git-sources-2.6.30_rc7-r6
с git-sources-2.6.30_rc7-r6 таже проблема.
покажите gcc-config -l
покажите
gcc-config -l
Пожалуйста: nike scripts #
Пожалуйста:
gcc-config 3 && env-update и
gcc-config 3 && env-update
и попробовать собрать ядро
хотя если не ошибаюсь ограничивали только 4,0, ветку
К сожалению не
К сожалению не помогло..
А прочитать текст, что вывела
А прочитать текст, что вывела первая команда?
Спасибо! Скомпилилось
Спасибо! Скомпилилось :)
/
А предупреждение по области применимости?
Или только мне глючится, что в данной номинации наблюдаются проблемы с обратной совместимостью, иначе говоря рекомендация скорее всего заведомо нерабочая?
:wq
--
Live free or die
Уф. Приятно поговорить с
Уф. Приятно поговорить с образованным человеком :)
Применимость методики положительно коррелирует только озвученной выше симптоматике.
Иными словами все что написано выше используйте на свой страх и риск.
Автор совета не несет ответственности за губительные последствия этого совета для вашей системы и/или окружающей среды.
Методика основана на изучении содержимого
/usr/src/linux/include/linux/compiler-gcc4.h
и принципов работы с переменными окружения дистрибутива gentoo.
Да, вам тоже спасибо за совет
Да, вам тоже спасибо за совет :) Я уже на новом ядре.
подобная фигня, но только не советы прокатывают
proxy bin # gcc-config -l
[1] i686-pc-linux-gnu-4.1.1
[2] i686-pc-linux-gnu-4.3.2 *
proxy bin # cd /usr/src/linux
proxy linux # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
proxy linux # make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CC kernel/bounds.s
In file included from include/linux/compiler-gcc.h:86,
from include/linux/compiler.h:40,
from include/linux/stddef.h:4,
from include/linux/posix_types.h:4,
from include/linux/types.h:11,
from include/linux/page-flags.h:8,
from kernel/bounds.c:9:
include/linux/compiler-gcc4.h:7:3: error: #error Your version of gcc miscompiles the __weak directive
make[1]: *** [kernel/bounds.s] Ошибка 1
make: *** [prepare0] Ошибка 2
что может быть?
source /etc/profile забыли )
source /etc/profile забыли )
нееее. все норм, см
нееее. все норм, см выше:
env-update && source /etc/profile
Так в чем собственно, может быть проблема?
Ай нид хелп
У меня была такая
У меня была такая проблема:
Независимо от переключения на gcc-4.3.* в PATH оставался ещё и путь к gcc-4.1.1 (причём вместе с путём к gcc-4.3.*, но до него). Естественно если ты запускаешь в консоли gcc, что собственно и делает emerge, первым брался всегда gcc-4.1.1.
Проверь версию gcc:
gcc --version
Так что поможеть либо корректировка PATH, либо полный снос gcc-4.1.1.