Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Где должны быть заголовки?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
_Sir_
Guru
Guru


Joined: 17 Jan 2005
Posts: 337
Location: Russia, Togliatti

PostPosted: Mon Jan 17, 2005 12:22 pm    Post subject: Где должны быть заголовки? Reply with quote

Время уходит, а я все никак не пойму, где должны лежать заголовочные файлы к ядру (../include). Сейчас ситуация такова -- развернуты исходники
/usr/src/linux-2.6.9-gentoo-r1, при компиляции ядра использован koutput
и установлена переменная в /usr/src/linux/Makefile KBUILD_OUTPUT=/var/tmp/koutput/2.6.9-gentoo-r1, соответственно, все скомпиленное и попутно созданное лежит там. Установлены linux26-headers в свое стандартное место /usr/include.

ebuild от nvidia-kernel-1.0.5336-r4 подсовывает через переменную $SYSSRC инклюды из /usr/src/linux (что, по-моему, неправильно!) в результате nvidia-kernel не собирается.

Вопрос -- какие из трех (!) ../include для чего нужны?
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Mon Jan 17, 2005 2:07 pm    Post subject: Reply with quote

а есть симлинк /usr/src/linux на /usr/src/linux-2.6.9-gentoo-r1?
если не то сделай:
Code:
cd /usr/src
ln -sf /usr/src/linux-2.6.9-gentoo-r1 linux
Back to top
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Mon Jan 17, 2005 2:47 pm    Post subject: Reply with quote

Насколько я секу ситуацию, linux[26]-headers пакеты ставят /usr/include/linux и /usr/include/asm в соответствии с архитектурой. Эти заголовки нужны для user-level софта, вроде glibc. Собственно, после изменения этих заголовков, рекомендуется пересобрать glibc; с другой стороны, upgrade'ить linux[26]-headers я не вижу смысла, т.к. эти заголовки стараються не модифицировать, да и нефиг с glibc удрить на работающей системе.

Для дров, вроде nvidia или vmware (точнее --- для модулей ядра) нужны заголовочные файлы от той версии ядра, что у тебя работает --- для корректной компиляции и resource resolution. Как правило, все собирают ядро там же, в /usr/src/linux. Есть ли какой-то механизм, чтобы сообщить сборщикам модулей (nvidia, vmware), где лежат загловки, я не знаю. Все они лезут в /usr/src/linux, т.к. это де-факто стандарт расположения рабочих файлов ядра, включая заголовки.

Думаю, тебе поможет линк /usr/src/linux/include => <real_place>/include
Back to top
View user's profile Send private message
_Sir_
Guru
Guru


Joined: 17 Jan 2005
Posts: 337
Location: Russia, Togliatti

PostPosted: Tue Jan 18, 2005 6:12 am    Post subject: Где должны быть заголовки? Reply with quote

Да, после установки linux26-headers пересобирал glibc и system заодно.

Quote:
Как правило, все собирают ядро там же, в /usr/src/linux. Есть ли какой-то механизм, чтобы сообщить сборщикам модулей (nvidia, vmware), где лежат загловки, я не знаю. Все они лезут в /usr/src/linux, т.к. это де-факто стандарт расположения рабочих файлов ядра, включая заголовки.


Возможно, :) но я привык следовать документации, и в ветке 2.6 введены разные каталоги для исходников и для вывода компиляции. Вот и получается три каталога :) Ладно, с заголовками для глибси и К понятно.
Однако, нвидия после получения указания через переменную, (даже через 3 конкурирующих) компилит (!) сишную програмку, для... проверки, где же заголовки. А между прочим, для построения модулей к собранному ядру, если мне память не изменяет, есть недвусмысленная ссылка,
Code:
/lib/modules/`uname -r`/build

, указывающая, откуда модули попали в /usr/lib и
Code:
/lib/modules/`uname -r`/source

указывающая, где лежат исходники.

Просто пипец, сколько проверок и скрипта понаписано в ebuild файле и в нвидиевском "инсталляторе"! Результат нулевой :(

И поможет мне, скорее всего, как раз-таки удаление симлинка /usr/src/linux, чтобы тупым скриптам ничего не оставалось делать и обратиться, куда и положено, в
Code:
/var/tmp/koutput/2.6.9-r1


Спасибо за дележку мыслями. Конечно, может быть в более поздних версиях ebuilds и поправили это безобразие, но пока хотелось бы собрать, то что есть, а не выкачивать весь инет за раз :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum