Ошибки при компиляции ядра

How do you read the errors?

I run after having .config -file at /home/aal/build/kernel.

/usr/src/linux-2.6$ make O=/home/aal/build/kernel/

I get

  ... cut ...
  CC [M]  drivers/staging/go7007/s2250-board.o
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c:24:26: error: s2250-loader.h: No such file or directory
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c: In function ‘read_reg_fp’:
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c:264: warning: passing argument 1 of ‘down_interruptible’ from incompatible pointer type
/usr/src/linux-2.6/include/linux/semaphore.h:43: note: expected ‘struct semaphore *’ but argument is of type ‘struct mutex *’
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c:273: warning: passing argument 1 of ‘up’ from incompatible pointer type
/usr/src/linux-2.6/include/linux/semaphore.h:47: note: expected ‘struct semaphore *’ but argument is of type ‘struct mutex *’
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c: In function ‘s2250_init’:
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c:670: error: implicit declaration of function ‘s2250loader_init’
/usr/src/linux-2.6/drivers/staging/go7007/s2250-board.c:676: error: implicit declaration of function ‘s2250loader_cleanup’
make[4]: *** [drivers/staging/go7007/s2250-board.o] Error 1
make[3]: *** [drivers/staging/go7007] Error 2
make[2]: *** [drivers/staging] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2

  • linux-kernel
  • compilation

asked Dec 1, 2009 at 0:55

3 Answers

Remove the reference to that driver from your .config and the issue will go away. Alternately if you need the driver appropriate the source.

All of those errors are caused by the missing header.

answered Dec 1, 2009 at 1:21

richo's user avatar

richoricho

8,7273 gold badges29 silver badges47 bronze badges

2

  • How can you remove the reference to the file in the .config? I did not find any driver with the given name. — I also tried to remove the given file, but some files are dependent on it so it cannot just be removed.

    Dec 2, 2009 at 22:04

  • You can’t just remove the files in question. Can you paste up your .config? Or a pastebin link to it? Only too happy to help then :)

    Dec 3, 2009 at 0:10

The errors are in a staging driver, i.e. either not yet, or already not stable driver (take a look e.g. here for a discussion of the staging tree.) You can disable these in kernel config Device Drivers —> Staging Drivers.

answered Dec 1, 2009 at 21:56

Nikolai Fetissov's user avatar

Nikolai FetissovNikolai Fetissov

82.4k12 gold badges110 silver badges172 bronze badges

The errors probably all stem from the missing file in the first error.

I’d suspect include path or incomplete install of the sources…

answered Dec 1, 2009 at 1:15

John Weldon's user avatar

John WeldonJohn Weldon

39.9k11 gold badges94 silver badges127 bronze badges

Ошибки при компиляции ядра

Модераторы: Warderer, Модераторы разделов

Аватара пользователя

minoru-kun

Сообщения: 620
ОС: Debian GNU/Linux

Ошибки при компиляции ядра

А у меня возникли траблы… с компилированием ядра. Сурцы ни в какую не хотят собираться, на пол-процесса дается ошибки. (make bzImage)

Код: Выделить всё

/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:38: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:39: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:40: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:41: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:42: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:43: warning: ‘packed’ attribute ignored for field of type ‘__u8[]’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:137: warning: ‘packed’ attribute ignored for field of type ‘__u8’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:138: warning: ‘packed’ attribute ignored for field of type ‘__u8[256]’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/ncp.h:174: warning: ‘packed’ attribute ignored for field of type ‘__u8’
In file included from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/asm/smp.h:17,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/smp.h:14,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/sched.h:23,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/mm.h:4,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/slab.h:14,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/proc_fs.h:5,
                 from init/main.c:15:
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/asm/mpspec.h:86: warning: ‘packed’ attribute ignored for field of type ‘unsigned char[6]’
In file included from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/sched.h:23,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/mm.h:4,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/slab.h:14,
                 from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/proc_fs.h:5,
                 from init/main.c:15:
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/smp.h:29: error: conflicting types for ‘smp_send_reschedule’
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/asm/smp.h:42: error: previous declaration of ‘smp_send_reschedule’ was here
In file included from /home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/linux/unistd.h:9,
                 from init/main.c:17:
/home/minoru/.dc++/Downloads/Kernels/linux-2.4.20-my/include/asm/unistd.h:375: warning: conflicting types for built-in function ‘_exit’
make: *** [init/main.o] Ошибка 1

я просто в ауте… Понимаю, обычный софт — но ядро-то пошто?

Аватара пользователя

lolobot

Сообщения: 436
ОС: Gentoo 2008.0

Re: Ошибки при компиляции ядра

Сообщение

lolobot »

Попробуй так: fakeroot make-kpkg —initrd —revision=custom.1.0 kernel_image
И не забудь установить вот это: gcc kernel-package libc6-dev tk8.3 libncurses5-dev fakeroot yaird g++

GNU/Linux forever! [Gentoo 2008.0]

Аватара пользователя

Aectann

Бывший модератор
Сообщения: 3491
Статус:
ОС: OS X, GNU_и_не_только/Linux

Re: Ошибки при компиляции ядра

Сообщение

Aectann »

Сырцы брали с kernel.org ?
P.S. Вам действительно нужно ядро 2.4.20 ? Сейчас 2.6.21 на дворе, есть ли смысл?
P.P.S. Очень странная идея собирать ядро в домашней папке пользователя и, наверное, из под обычного пользователя(я прав?) Обычно это делается из под root и в каталоге /usr/src.

My god… it’s full of stars!…

Аватара пользователя

minoru-kun

Сообщения: 620
ОС: Debian GNU/Linux

Re: Ошибки при компиляции ядра

Сообщение

minoru-kun »

minoru@minoru-desktop:/tmp/linux-2.6.9-my$ make bzImage
<…>
{standard input}: Assembler messages:
{standard input}:817: Error: suffix or operands invalid for `mov’
{standard input}:818: Error: suffix or operands invalid for `mov’
{standard input}:1018: Error: suffix or operands invalid for `mov’
{standard input}:1019: Error: suffix or operands invalid for `mov’
{standard input}:1092: Error: suffix or operands invalid for `mov’
{standard input}:1093: Error: suffix or operands invalid for `mov’
{standard input}:1205: Error: suffix or operands invalid for `mov’
{standard input}:1206: Error: suffix or operands invalid for `mov’
{standard input}:1278: Error: suffix or operands invalid for `mov’
{standard input}:1290: Error: suffix or operands invalid for `mov’

minoru@minoru-desktop:/tmp/linux-2.6.9-my$ sudo make-kpkg my
Password:
Error: Unknown target my
use —targets to display help on valid targets.
minoru@minoru-desktop:/tmp/linux-2.6.9-my$ sudo make-kpkg
exec debian/rules DEBIAN_REVISION=2.6.9-10.00.Custom
nothing to be done.

Аватара пользователя

Uncle_Theodore

Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Ошибки при компиляции ядра

Сообщение

Uncle_Theodore »

minoru-kun, прислушайтесь к совету Aectann‘а.
Распакуйте исходники ядра в /usr/src и собирайте ядро от рута в получившейся директории.
Для сборки ядра есть совершенно стандартные интсрукции, которым необходимо следовать, потому что все скрипты и конфиги в исходниках ядра рассчитаны на то, что Вы будете следовать инструкциям, а не заниматься самодеятельностью.

Цитата: Angel_ok от 14 июня 2012, 10:41:49
Что за репозиторий с патчами debian? Я не в курсе.
Почему kernel.org ванильный? Наоборот считаю самое что ни на есть первоисточник.

Ванильным и называется ядро в том виде, как оно вышло от команды разработчиков ядра.
(таким, каким его хотел видеть Линус Торвальдс)

Сборщики (гордо называющие себя «майнтейнеры»  :D) многих дистрибутивов (но не всех) накладывают на исходный код ядра от себя патчи.
(эти думают, что они даже ещё лучше, чем Линус Торвальдс знают, каким надлежит быть ядру ;D)

Это уже вопрос не инженерии, а вопрос психиатрии … как применительно к Линусу Торвальдсу, так и к майнтейнерам … : «кто всех красивее и милее»(с)  :-X

Таким образом и бывает, что ядра бывают: а). ванильные, б). патченные.


Сообщение объединено: 14 июня 2012, 13:42:10


Цитата: Brainey от 14 июня 2012, 08:53:38Способ «преврати систему в помойку».

А это (только моё мнение, IMHO) — полная ерунда сказана … так говорится только чтоб крутизной своей лишний раз блеснуть, мол и мы не пальцем деланные  8)

— майнтейнеры крайне-крайне редко что-то исправляют в ядре (это происходит чаще уже в период эксплуатации стабильной версии и по случаю ну уж очень явных проколов безопасности)…

— и чаще всего только добавляют к ядру какие-то нововведения, которые отказался туда добавлять «царь и бог» Линус Торвальдс;

— все эти новшества никак не используются (не могут использоваться!) открытыми проектами из userspace … и уж в первую голову — GNU проектами, которые создают в большей мере Linux, чем даже ядро…   

— поэтому отсутствие патчей на ядро в такой мизерной степени может способствовать «превращения  системы в помойку»(с), что не стоит об этом и говорить…

— ошибки системы инсталляции, ошибки в зависимостях репозитариев, неадекватность состояний различных зеркал и т.д. в Debian (см. соседние темы) — это куда более реальный способ «преврати систему в помойку»(с)  :'(

P.S. и кроме того: чем же патчи, притуленные к ядру Debian, умнее, чем, скажем патчи, притуленные к ядру Fedora ?

  • Печать

Страницы: [1]   Вниз


Автор
Тема: ошибка при компиляции ядра  (Прочитано 1099 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
SammIk

Доброго времени, коллеги.

Пытаюсь откомпилить ядро.
выдает такую ошибку:

make[2]: *** Нет правила для сборки цели `kernel/bounds.c’, требуемой для `kernel/bounds.s’.  Останов.

Под спойлом полный лист(маленький))

(Нажмите, чтобы показать/скрыть)

Подскажите как побороть эту ошибку.

Гугля не помог.(


Оффлайн
ubuntar


Оффлайн
SammIk

пробовал и так.
Все равно  стопаеться с этой же ошибкой.
Уже и не знаю как с этим бороться.


Оффлайн
SammIk

Вопрос снимается)))
Не выспался вот и не в том каталоге компилил)))


  • Печать

Страницы: [1]   Вверх


0

0

make[1]: Leaving directory `/usr/src/linux-2.4.26/arch/i386/math-emu’
gcc -E -C -P -I/usr/src/linux-2.4.26/include -D__KERNEL__ -imacros /usr/src/linux-2.4.26/include/linux/config.h -imacros /usr/src/linux-2.4.26/include/asm-i386/segment.h -imacros /usr/src/linux-2.4.26/include/asm-i386/page.h -Ui386 arch/i386/vmlinux.lds.S >arch/i386/vmlinux.lds
ld -m elf_i386 -T /usr/src/linux-2.4.26/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/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/char/drm/drm.o drivers/net/fc/fc.o drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/pcmcia/pcmcia.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/video/video.o drivers/usb/usbdrv.o drivers/media/media.o drivers/bluetooth/bluetooth.o drivers/hotplug/vmlinux-obj.o drivers/isdn/vmlinux-obj.o crypto/crypto.o arch/i386/math-emu/math.o \
net/network.o \
grsecurity/grsec.o \
/usr/src/linux-2.4.26/arch/i386/lib/lib.a /usr/src/linux-2.4.26/lib/lib.a /usr/src/linux-2.4.26/arch/i386/lib/lib.a \
—end-group \
-o vmlinux
fs/fs.o(.text+0x291bd): In function `extended_partition’:
: undefined reference to `md_autodetect_dev’
fs/fs.o(.text+0x298e8): In function `msdos_partition’:
: undefined reference to `md_autodetect_dev’
make: *** [vmlinux] Ошибка 1
root@home:/usr/src/linux#

Что это может означать? Где какие галочки убрать или что добавить в menuconfig ?

Уже второе ядро не могу собрать из-за этого fs.o ! :(

Понравилась статья? Поделить с друзьями:
  • Ошибки при лечении анафилактического шока
  • Ошибки при кормлении новорожденного смесью
  • Ошибки при комиссионировании
  • Ошибки при кормлении новорожденного грудным молоком
  • Ошибки при ленточном наращивании волос