ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: unDEFER <undefer@gmail.com>
To: sysadmins@lists.altlinux.org
Subject: Re: [Sysadmins] anyfs-tools
Date: Wed, 08 Mar 2006 10:34:39 +0300
Message-ID: <op.s523b1lvty9wl4@undecomp> (raw)
In-Reply-To: <200603080231.05306.lav@altlinux.ru>

В письме от Wed, 08 Mar 2006 02:31:03 +0300, Vitaly Lipatov  
<lav@altlinux.ru> сообщал:

> Пытаюсь использовать glibc-kernheaders:
> In file included from /usr/include/linux/config.h:4,
>                  from /usr/include/asm/bitops.h:8,
>                  from build_e2fs.c:51:
> /usr/include/linux/autoconf.h:1:2: #error Invalid kernel header
> included in userspace
>
> Существует ли у нас возможность включать bitops?

Я не знаю какая у Вас версия glibc-kernheaders, но видимо более свежая.
Раз они так решили, значит получается что нету возможности.
Хотя есть -- надо только из config.h убрать "#include <linux/autoconf.h>"
Ведь, у меня glibc-kernheaders-2.4-9.1.87 и там:

$ cat /usr/include/linux/config.h
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H

#ifdef __KERNEL__
#error Incorrectly using glibc headers for a kernel module
#endif

#endif

Поэтому у меня и с glibc-kernheaders всё работало.
Но, вот именно по этой причине я использую теперь не glibc-kernheaders, а  
заголовки ядра из реальных сырцов.

> 1. Через
> http://sourceforge.net/project/showfiles.php?group_id=160550&package_id=180617&release_id=396023
> такой архив не видно

:-) "You have selected to download the 0.83 Gamma 2 release."
Какой ещё релиз вы там ожидали увидеть???
Вот здесь надо смотреть:
http://sourceforge.net/project/showfiles.php?group_id=160550

> 2. Каталог внутри архива должен называться %name-%version

Учтём.

> 4. Не надо искать заголовочные файлы ядра таким способом:
> /lib/modules/$(shell uname -r)/build/include
> а уж тем более включать их в userspace-программу.

Да, нет это как раз правильный способ :-)
Вернее так: "/lib/modules/$(shell uname -r)/build" -- однозначно верный  
способ найти исходники ядра, т.к. он используется при сборках модулей ядра.
А, то что вы привели выше -- такой же верный способ поиска заголовков  
именно того ядра которое стоит.
Это на самом деле вернее, использования glibc-kernheaders, хотя бы потому,  
что они точно от той версии ядра которая установлена, а не какой-то старой.
glibc-kernheaders -- вообще костыль лишь для случая когда нет исходников  
ядра.
А насчёт использования в userspace-программе -- так не надо забывать, что  
это очень необычная userspace-программа -- рядом с ней лежит папочка  
anyfs, в которой лежит модуль ядра, для компиляции которого всё равно  
понадобяться исходники ядра. А без этого модуля смысл использования этой  
userspace-программы в основном теряется.

И почитайте здесь (это первый ответ гугля на запрос "#error Invalid kernel  
header included in userspace"):
http://www.redhat.com/archives/linux-lvm/2002-July/msg00143.html
Здесь советуют с некоторых пор делать именно так, т.е. не использовать  
glibc-kernheaders.

-- 
registered Linux user #360474
Don't worry, I can read OpenOffice.org


  reply	other threads:[~2006-03-08  7:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-07 19:36 unDEFER
2006-03-07 23:31 ` Vitaly Lipatov
2006-03-08  7:34   ` unDEFER [this message]
2006-03-09 10:38     ` Michael Shigorin
2006-03-09 17:59       ` unDEFER
2006-03-09 17:56         ` Michael Shigorin
2006-03-09 19:58       ` unDEFER

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.s523b1lvty9wl4@undecomp \
    --to=undefer@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git