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, ветку
К сожалению не
К сожалению не помогло..
nike linux # gcc-config 3 * Switching native-compiler to i686-pc-linux-gnu-4.3.3... >>> Regenerating /etc/ld.so.cache... [ ok ] * If you intend to use the gcc from the new profile in an already * running shell, please remember to do: * # source /etc/profile nike linux # env-update >>> Regenerating /etc/ld.so.cache... nike linux # nike 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:14, from include/linux/page-flags.h:8, from kernel/bounds.c:9: include/linux/compiler-gcc4.h:8:4: error: #error Your version of gcc miscompiles the __weak directive make[1]: *** [kernel/bounds.s] Ошибка 1 make: *** [prepare0] Ошибка 2 nike linux # gcc-config -l [1] i686-pc-linux-gnu-3.3.6 [2] i686-pc-linux-gnu-4.1.1 [3] i686-pc-linux-gnu-4.3.3 * nike linux # gcc-config 1 * Switching native-compiler to i686-pc-linux-gnu-3.3.6... >>> Regenerating /etc/ld.so.cache... [ ok ] * If you intend to use the gcc from the new profile in an already * running shell, please remember to do: * # source /etc/profile nike linux # env-update >>> Regenerating /etc/ld.so.cache... nike 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:14, from include/linux/page-flags.h:8, from kernel/bounds.c:9: include/linux/compiler-gcc4.h:8:4: error: #error Your version of gcc miscompiles the __weak directive make[1]: *** [kernel/bounds.s] Ошибка 1 make: *** [prepare0] Ошибка 2 nike linux #А прочитать текст, что вывела
А прочитать текст, что вывела первая команда?
Спасибо! Скомпилилось
Спасибо! Скомпилилось :)
/
А предупреждение по области применимости?
Или только мне глючится, что в данной номинации наблюдаются проблемы с обратной совместимостью, иначе говоря рекомендация скорее всего заведомо нерабочая?
: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.