При сборке ядра появляется ошибка

Автор: Sigi Дата: 03.04.2005 12:55 После команды:

make clean && make dep && make bzImage

Компьютер начинает компилировать ядро, а после, примерно, 10 минут компиляции появляется сообщение:

---
gcc -D__KERNEL__ -I/usr/src/linux-2.4.22-1.2154.nptl.asp/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=pentium4
-nostdinc -iwithprefix include -DKBUILD_BASENAME=setup -DEXPORT_SYMTAB -c setup.c
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:71,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/dec_and_lock.ver:3:1: warning: "atomic_dec_and_lock" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/wait.h:16,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/fs.h:12,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/capability.h:17,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/binfmts.h:4,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:10,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/spinlock.h:65:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:17:1: warning: "cpu_online_map" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:25,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/smp.h:110:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:198:1: warning: "smp_call_function" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:25,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/smp.h:109:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:221:1: warning: "EISA_bus" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/list.h:6,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/wait.h:14,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/fs.h:12,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/capability.h:17,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/binfmts.h:4,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:10,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/asm/processor.h:257:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:226:1: warning: "cpu_data" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/list.h:6,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/wait.h:14,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/fs.h:12,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/capability.h:17,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/binfmts.h:4,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:10,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/asm/processor.h:90:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:242:1: warning: "smp_num_cpus" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:25,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/smp.h:101:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:141,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/i386_ksyms.ver:246:1: warning: "synchronize_irq" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/interrupt.h:53,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/asm/highmem.h:25,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/highmem.h:11,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/vmalloc.h:8,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/asm/io.h:47,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/blkdev.h:11,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/blk.h:4,
from setup.c:101:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/asm/hardirq.h:38:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:191,u_data' undeclared (first use in this function)
make[1]: *** [setup.o] Ошибка 1
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/kerne
make: *** [_dir_arch/i386/kernel] Ошибка 2
[root@localhost linux-2.4.22-1.2154.nptl.asp]#
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/ksyms.ver:4910:1: warning: "set_cpus_allowed" redefined
In file included from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:601:1: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modversions.h:191,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/module.h:21,
from setup.c:110:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/modules/ksyms.ver:5530:1: warning: "del_timer_sync" redefined
In file included from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/ext3_fs_sb.h:20,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/fs.h:729,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/capability.h:17,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/binfmts.h:4,
from /usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/sched.h:10,
from setup.c:84:
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/timer.h:30:1: warning: this is the location of the previous definition
setup.c: In function `show_cpuinfo':
setup.c:3070: error: `cpu_data' undeclared (first use in this function)
setup.c:3070: error: (Each undeclared identifier is reported only once
setup.c:3070: error: for each function it appears in.)
setup.c:3030: warning: unused variable `phys_proc_id'
setup.c: In function `c_start':
setup.c:3148: error: `cpu_data' undeclared (first use in this function)
make[1]: *** [setup.o] Ошибка 1u_data' undeclared (first use in this function)
make[1]: *** [setup.o] Ошибка 1
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/kerne
make: *** [_dir_arch/i386/kernel] Ошибка 2
[root@localhost linux-2.4.22-1.2154.nptl.asp]#
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/kernel'u_data' undeclared (first use in this function)
make[1]: *** [setup.o] Ошибка 1
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/kerne
make: *** [_dir_arch/i386/kernel] Ошибка 2
---

После чего сборка естественно прекращается. Если кто подскажет, как с этим можно бороться, буду очень благодарен.

Sigi.
Re: При сборке ядра появляется ошибка 04.04.2005 02:46ITadmin Первое, что приходит в голову - сделать make clean && make mrproper. Либо использовать ядро с kernel.org.
Re: При сборке ядра появляется ошибка 04.04.2005 11:43ukv Выглядит так, как будто сделано по 2 раза #include нескольких файлов, из каталога include/asm,
например processor.h .
От повторного inlcude должна спасать условная компиляция с #define __ASM_I386_PROCESSOR_H, но в данном случае почему-то не спасает.
Единственное, что приходит в голову - что-то не в порядке с ссылкой include/asm -> asm-i386
Либо где-то еще лежат заголовки от другой версии ядра, например /usr/src/linux/include, /usr/include/linux; или /lib/modules/версия/build/include указывает не туда.
Что еще может помочь: делать каждый шаг по отдельности, и если у вас pentium4 HT и smp ядро - запретить использовать второй процессор:
make clean
make dep
make -j 1 bzImage
Re: При сборке ядра появляется ошибка 04.04.2005 20:54Sigi После
make clean
make dep
make -j 1 bzImage

то место на котором возникала ошибка проходит, но потом возникает следующая ошибка:
---
make[1]: Вход в каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp'
ld -m elf_i386 -T /usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/vmlinux.lds
-e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.o init/do_mounts.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o
kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o drivers/acpi/acpi.o drivers/cpufreq/cpufreq.o
drivers/parport/driver.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
drivers/net/net.o drivers/char/agp/agp.o drivers/char/drm/drm.o
drivers/net/appletalk/appletalk.o drivers/net/wan/wan.o drivers/atm/atm.o
drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/sound/sounddrivers.o
drivers/pci/driver.o drivers/mtd/mtdlink.o drivers/pcmcia/pcmcia.o
drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o
drivers/video/video.o drivers/usb/usbdrv.o drivers/media/media.o drivers/net/irda/irda.o
drivers/md/mddev.o crypto/crypto.o net/network.o
/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/lib/lib.a
/usr/src/linux-2.4.22-1.2154.nptl.asp/lib/lib.a
/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/lib/lib.a --end-group -o vmlinux
kernel/kernel.o(.text+0xfb3): In function `schedule':
: undefined reference to `active_load_balance'
drivers/char/drm/drm.o(.text+0x6f1f): In function `sis_fb_alloc':
: undefined reference to `sis_malloc'
drivers/char/drm/drm.o(.text+0x6fed): In function `sis_fb_alloc':
: undefined reference to `sis_free'
drivers/char/drm/drm.o(.text+0x7077): In function `sis_fb_free':
: undefined reference to `sis_free'
drivers/char/drm/drm.o(.text+0x7547): In function `sis_final_context':
: undefined referencmake[1]: Вход в каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp'
ld -m elf_i386 -T /usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o
init/do_mounts.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o
mm/mm.o fs/fs.o ipc/ipc.o drivers/acpi/acpi.o drivers/cpufreq/cpufreq.o
drivers/parport/driver.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
drivers/net/net.o drivers/char/agp/agp.o drivers/char/drm/drm.o
drivers/net/appletalk/appletalk.o drivers/net/wan/wan.o drivers/atm/atm.o
drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/sound/sounddrivers.o
drivers/pci/driver.o drivers/mtd/mtdlink.o drivers/pcmcia/pcmcia.o
drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o
drivers/video/video.o drivers/usb/usbdrv.o drivers/media/media.o drivers/net/irda/irda.o
drivers/md/mddev.o crypto/crypto.o net/network.o
/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/lib/lib.a
/usr/src/linux-2.4.22-1.2154.nptl.asp/lib/lib.a
/usr/src/linux-2.4.22-1.2154.nptl.asp/arch/i386/lib/lib.a --end-group -o vmlinux
kernel/kernel.o(.text+0xfb3): In function `schedule':
: undefined reference to `active_load_balance'
drivers/char/drm/drm.o(.text+0x6f1f): In function `sis_fb_alloc':
: undefined reference to `sis_malloc'
drivers/char/drm/drm.o(.text+0x6fed): In function `sis_fb_alloc':
: undefined reference to `sis_free'
drivers/char/drm/drm.o(.text+0x7077): In function `sis_fb_free':
: undefined reference to `sis_free'
drivers/char/drm/drm.o(.text+0x7547): In function `sis_final_context':
: undefined reference to `sis_free'
drivers/sound/sounddrivers.o(.text+0x103c5): In function `es1371_probe':
: undefined reference to `gameport_register_port'
drivers/sound/sounddrivers.o(.text+0x1078c): In function `es1371_remove':
: undefined reference to `gameport_unregister_port'
make[1]: *** [kallsyms] Ошибка 1
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp'
make: *** [vmlinux] Ошибка 2
e to `sis_free'
drivers/sound/sounddrivers.o(.text+0x103c5): In function `es1371_probe':
: undefined reference to `gameport_register_port'
drivers/sound/sounddrivers.o(.text+0x1078c): In function `es1371_remove':
: undefined reference to `gameport_unregister_port'
make[1]: *** [kallsyms] Ошибка 1
make[1]: Выход из каталог `/usr/src/linux-2.4.22-1.2154.nptl.asp'
make: *** [vmlinux] Ошибка 2
---

Я пробовал брать ядро с kernel.org результат такой же. Может проблема в конфигурации?
Re: При сборке ядра появляется ошибка 05.04.2005 11:48ukv Конфигурация - вряд ли. Мне кажется - компилятор.
active_load_balance - отсутствует в стандартном 2.4.22, в асповском ядре добавилась с одним из патчей.
Но: в любом случае эта функция (или inline-заглушка {} ) определяется В ТОМ ЖЕ ФАЙЛЕ, В КОТОРОМ ИСПОЛЬЗУЕТСЯ, И ДО ЕЕ ИСПОЛЬЗОВАНИЯ в shedule(). Вывод: файл shed.c компилируется неправильно.
Я бы в такой ситуации снес компилятор и переустановил его заново.
Re: При сборке ядра появляется ошибка 10.04.2005 13:59man У меня подобная проблема, но поэкспериментировав с ядром 2.6 скаченным с сайта ASPLinux могу сказать, что скорее всего проблема в функциональной несовместимости ядра и настроек конфигурационного файла.
Попробуй подобрать необходимые патчи или в ручную отредактировать файл конфигурации.
Re: При сборке ядра появляется ошибка 19.04.2005 21:53Scriptor man писал(а):
> Попробуй подобрать необходимые патчи или в ручную
> отредактировать файл конфигурации.

Не, вот это уже стремно. Неплохо бы еще раз внимательно пересмотреть все настройки на на заведомо конфликтные. А со стандартной конфигурацией тоже ошибка? А gcc свежий?
RSS-материал