LINUX.ORG.RU

компиляция kernel'a на Mandrake 9.1


0

0

Почему может не компилироваться kernel 2.4.21-0.25 на Mandrake 9.1 ?
При попытке скомпилировать выводит следующее:

make[2]: Entering directory `/usr/src/linux-2.4.22-10mdk/sound/arm'
make all_targets
make[3]: Entering directory `/usr/src/linux-2.4.22-10mdk/sound/arm'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.22-10mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=sa11xx_uda1341 -c sa11xx-uda1341.c -o sa11xx-uda1341.o
sa11xx-uda1341.c:75:26: asm/hardware.h: No such file or directory
sa11xx-uda1341.c:76:28: asm/arch/h3600.h: No such file or directory
sa11xx-uda1341.c:77:28: asm/mach-types.h: No such file or directory
sa11xx-uda1341.c:90:25: linux/l3/l3.h: No such file or directory
In file included from sa11xx-uda1341.c:94:
/usr/src/linux-2.4.22-10mdk/include/sound/uda1341.h:227: warning: `struct l3_client' declared inside parameter list
/usr/src/linux-2.4.22-10mdk/include/sound/uda1341.h:227: warning: its scope is only this definition or declaration, which is probably not what you want
sa11xx-uda1341.c:123: parse error before "dma_device_t"
sa11xx-uda1341.c:123: warning: no semicolon at end of struct or union
sa11xx-uda1341.c:127: warning: type defaults to `int' in declaration of `dma_regs'
sa11xx-uda1341.c:127: warning: data definition has no type or storage class
sa11xx-uda1341.c:129: parse error before ':' token
sa11xx-uda1341.c:136: parse error before '}' token
sa11xx-uda1341.c:136: warning: type defaults to `int' in declaration of `audio_stream_t'
sa11xx-uda1341.c:136: warning: data definition has no type or storage class
sa11xx-uda1341.c:144: parse error before "audio_stream_t"
sa11xx-uda1341.c:144: warning: no semicolon at end of struct or union

и т.д.......


anonymous

а почему arm?? какой у тебя процессор? или тебе кросс-компилляция нужна?

anonymous
()

Судя по -march=i686 не арм. Хотя... :)))

anonymous
()

уважаемый, а вы asm и linux залинковали в /usr/include?

grustnoe ★★
()

arm - подкаталог в sound и относится к драйверам для ALSA.
Эти драйвера включены в kernel, похоже проблема в них т.к. затыкается именно здесь. Может быть нужно доустановить какие-то исходники?
Линковать я ничего не линковал, как и раньше. Почему-то те 20-30 раз когда я компилировал kernel на предыдущих Mandrake и RedHat это не требовалось... А что и куда нужно линковать?

anonymous
()
Ответ на: комментарий от anonymous

В /usr/src/linux/include/ должны быть указанные в сообщениях об ошибках файлы (asm/hardware.h и т.д.) и каталоги (asm/arch, linux/l3) Если их нет, то конечно же будет выдано сообщение об ошибке. Посмотри куда указывает символьная ссылка /usr/src/linux/include/asm Если ее нет, то создай. Если же она есть и указывает куда нужно, то проблема в сборке исходников ядра многоуважаемой фирмой Мандрейк.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.