Здравствуйте, уважаемые коллеги!
На моем компьютере установлена Mandriva'2007 kernel 2.6.17. Решил обновить ядро до 2.6.32. Скачал архив ядра с ftp.kernel.org, разархивировал, установил требуемые в Documentation/Changes пакеты нужных версий, сконфигурировал при помощи make xconfig и т.д. после чего запустил make bzImage. После вывода десятка строчек я увидел такое:
include/linux/compiler-gcc4.h:8:4: error: #error Your version of gcc miscopiles the __weak directive
make[1]: *** [kernel/bounds.s] Ошибка 1
make: *** [prepare0] Ошибка 2
Как это понимать и что с этим делать не знаю (новое ядро требует gcc версии 3.2, а у меня стоит 4.1.1, так что все вроде бы нормально). Подскажите, пожалуйста, что делать.
>Mandriva'2007 kernel 2.6.17. Решил обновить ядро до 2.6.32.
>Скачал архив ядра с ftp.kernel.org, разархивировал, установилА... http://www.google.ru/search?q=Mandriva%272007+kernel+rp...
...или rpmfind там какой ни то? Не?..
>>Mandriva'2007 kernel 2.6.17. Решил обновить ядро до 2.6.32.
>>Скачал архив ядра с ftp.kernel.org, разархивировал, установил
>
>А... http://www.google.ru/search?q=Mandriva%272007+kernel+rp...
>...или rpmfind там какой ни то? Не?..Вообще-то я хотел сам скомпилировать ядро, а не пользоваться готовыми сборками
>а у меня стоит 4.1.1, так что
>все вроде бы нормально). Подскажите, пожалуйста, что делать.Обновите gcc.
http://lkml.org/lkml/2009/1/2/211
>>а у меня стоит 4.1.1, так что
>>все вроде бы нормально). Подскажите, пожалуйста, что делать.
>
>Обновите gcc.
>http://lkml.org/lkml/2009/1/2/211Спасибо за версию! Только вот незадача: а как обновить gcc? Скачал tar.gz-архив gcc-4.1.2, распаковал его, запустил configure, затем скомпилировал (make от пользователя), а затем установил (make install от root). Все прошло без сучка-без задоринки. Но! если вести
gcc --version
все равно отвечает 4.1.1 (по-старому). Попробовал удалить старый пакет (через штатную gui-утилиту), но в результате непоправимо искалечил систему (пришлось переставлять). Наставьте на путь истинный: как правильно обновить пакет?
>затем установил (make install от root). Все прошло без сучка-без задоринки.
>Но! если вести
>gcc --version
>все равно отвечает 4.1.1 (по-старому)Не, ну, если не rpmfind, то может быть http://linuxfromscratch.ru/ http://linuxfromscratch.org/ подойдёт? ---А я что, я ничего, я просто спросил---
>но в результате непоправимо искалечил систему (пришлось переставлять). Наставьте на путь
>истинный: как правильно обновить пакет?Для начала надо научиться пользоваться менеджером пакетов вашей системы.
А собирать самому пакеты вам еще рано
>[оверквотинг удален]
>На моем компьютере установлена Mandriva'2007 kernel 2.6.17. Решил обновить ядро до 2.6.32.
>Скачал архив ядра с ftp.kernel.org, разархивировал, установил требуемые в Documentation/Changes пакеты
>нужных версий, сконфигурировал при помощи make xconfig и т.д. после чего
>запустил make bzImage. После вывода десятка строчек я увидел такое:
>include/linux/compiler-gcc4.h:8:4: error: #error Your version of gcc miscopiles the __weak directive
>make[1]: *** [kernel/bounds.s] Ошибка 1
>make: *** [prepare0] Ошибка 2
>Как это понимать и что с этим делать не знаю (новое ядро
>требует gcc версии 3.2, а у меня стоит 4.1.1, так что
>все вроде бы нормально). Подскажите, пожалуйста, что делать.Если кому интересно, то я понял в чем моя ошибка - при удалении пакета gcc-4.1.1 я сдуру удалил также и пакет glibc и, конечно, система померла. Теперь я сделал так (после установки системы по-новой): скомпилировал и установил gcc-4.1.2, удалил пакет gcc-4.1.1 через стандартную gui-утилиту Mandriv'ы. После этого gcc --version стала выдавать 4.2.1 и ядро скомпилировалось без запинки.
>>Если кому интересно, то я понял в чем моя ошибкаОсобого интереса нет.
Большинство дистрибутивов Linux систем используют ванильное ядро + кучу наложенных патчей. Прикручивая ванильное ядро к Mandriv-e, вы скорее всего разломали какие то службы.
Если так уж очень хочется, то испольуйте для этих целей Slackware.