From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:subject:references:content-type:mime-version:content-transfer-encoding:message-id:in-reply-to:user-agent; b=LF5rywbVved3kv9xKjk6Rt82u7Sw1GtjoYNjJ8Hc1e2zv9kAqlLdvKupEz/IiHWKkwi5bb2i+JcMXLTWDpUKxZuypaTSPSM4gYUsQer+spi4Dy8o18DguyiZKnt7SF9zOVl2E1QnJtjwhxn5C26LgQFR9ugIQH0U3vmoFEa62uE= Date: Wed, 08 Mar 2006 10:34:39 +0300 From: unDEFER To: sysadmins@lists.altlinux.org References: <200603080231.05306.lav@altlinux.ru> Content-Type: text/plain; format=flowed; delsp=yes; charset=koi8-r MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: In-Reply-To: <200603080231.05306.lav@altlinux.ru> User-Agent: Opera M2/8.50 (Linux, build 1358) Subject: Re: [Sysadmins] anyfs-tools X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.6 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Mar 2006 07:21:59 -0000 Archived-At: List-Archive: В письме от Wed, 08 Mar 2006 02:31:03 +0300, Vitaly Lipatov сообщал: > Пытаюсь использовать 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 " Ведь, у меня 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