[SOLVED] Модуль bumblebee не пересобирается

Здравствуйте!

При сборке ядка столкнулся с сабжем. Вот лог:
root@localhost /root % cat /var/tmp/portage/sys-power/bbswitch-0.8/temp/build.log
* Package: sys-power/bbswitch-0.8
* Repository: gentoo
* Maintainer:

,rei4dan@gmail.com,proxy-maint@gentoo.org
* USE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
* FEATURES: preserve-libs sandbox userpriv usersandbox
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found sources for kernel version:
* 3.17.8-gentoo-r1
>>> Unpacking source...
>>> Unpacking bbswitch-0.8.tar.gz to /var/tmp/portage/sys-power/bbswitch-0.8/work
>>> Source unpacked in /var/tmp/portage/sys-power/bbswitch-0.8/work
>>> Preparing source in /var/tmp/portage/sys-power/bbswitch-0.8/work/bbswitch-0.8 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-power/bbswitch-0.8/work/bbswitch-0.8 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/sys-power/bbswitch-0.8/work/bbswitch-0.8 ...
ln: failed to create symbolic link ‘Module.symvers’: File exists
* Preparing bbswitch module
make -j9 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' KVERSION=3.17.8-gentoo-r1 default
make -C /lib/modules/3.17.8-gentoo-r1/build M="$(pwd)" modules
make[1]: *** /lib/modules/3.17.8-gentoo-r1/build: No such file or directory. Stop.
Makefile:13: recipe for target 'default' failed
make: *** [default] Error 2
* ERROR: sys-power/bbswitch-0.8::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=sys-power/bbswitch-0.8::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-power/bbswitch-0.8::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-power/bbswitch-0.8/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-power/bbswitch-0.8/temp/environment'.
* Working directory: '/var/tmp/portage/sys-power/bbswitch-0.8/work/bbswitch-0.8'
* S: '/var/tmp/portage/sys-power/bbswitch-0.8/work/bbswitch-0.8'

Замечу, что в логе есть строка: "ln: failed to create symbolic link ‘Module.symvers’: File exists".

'emerge --info '=sys-power/bbswitch-0.8::gentoo'': http://pastebin.com/jQ3HZ0Rg

Подскажите, в какую сторону копать?

make[1]: ***

make[1]: *** /lib/modules/3.17.8-gentoo-r1/build: No such file or directory. Stop.

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

Цитата:make -C

Цитата:
make -C /lib/modules/3.17.8-gentoo-r1/build M="$(pwd)" modules
make[1]: *** /lib/modules/3.17.8-gentoo-r1/build: No such file or directory. Stop.

Вы, видимо, удалили исходные коды ядра из /usr/src. Или удалили сам пакет. Символьная ссылка /lib/modules/3.17.8-gentoo-r1/build должна указывать на /usr/src/linux-3.17.8-gentoo-r1 или на другую директорию, в которой происходила сборка ядра. В общем, разбирайтесь где у вас исходники ядра, ну или пересобирайте ядро.

Удачи.

Ой, точно. Спасибо!Я собирал

Ой, точно. Спасибо!

Я собирал новую версию ядра и запускал пересборку внешних модулей до того, как ядро было собрано. Правильно ли я понимаю, что разумная последовательность команд при сборке нового ядра следующая?

make menuconfig
make
make modules_install
make install
make modules_prepare
emerge @module-rebuild

Обновляю конфиг,
собираю ядро,
копирую модули в '/lib/modules' (в чём и было дело),
копирую собранное ядро в /boot (с этим можно было бы и подождать) и таблицу символов (а вот это надо бы сделать до пересборки внешних модулей ядра, не так ли?),
приготовляю модули для сборки (что бы 'make modules_prepare' ни делало),
пересобираю внешние модули.

Кстати, в гентушной вики в этом месте вопрос: "Someone who knows better, please clarify When exactly should make modules_prepare be run?" Присоединяюсь к нему.

Цитата: разумная

Цитата:
разумная последовательность команд при сборке нового ядра следующая

Вот такая:

mount /boot
make menuconfig
make -jN 
make install
make modules_install
emerge @module-rebuild

Где N - число ядер процессора, указывает во сколько потоков производить сборку ядра.

Спасибо. Действительно, 'make

Спасибо. Действительно, 'make modules_prepare' же нужна лишь если ядро ещё не собрано. Т.о. связка

make modules_prepare
emerge @module-rebuild

до

make
make install

имеет смысл лишь если почему-то захотелось собрать внешние модули ядра, не требующие ни тиблицы символов, ни собранных модулей ядра, до сборки самого ядра?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".