Решено: Virtualbox 3.1 (virtualbox-modules не собирается)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Решено: Virtualbox 3.1

Сообщение Dunris »

Здравствуйте. В общем, ситуация такова: имеется Gentoo с ядром 2.6.32.4, нужно установить Virtualbox. И все бы хорошо, только модуль ядра никак не собирается. Все началось с перехода на ядро 2.6.32, если не ошибаюсь (уже недели 3 такая проблема, не торопился тут создавать тему). До этого все собиралось и работало прекрасно. Сначала подумал, что неверно сконфигурировал ядро. Перенастроил с нуля, но этот модуль как не собирался, так и не собирается.
Вообще, впервые я столкнулся с этим, когда хотел собрать только что вышедший VB 3.1. По вышеупомянутой причине ничего не вышло, и я смог удачно откатиться на 3.0.х. После пересборки ядра назрела необходимость пересобрать и vboxdrv. Теперь и на 3.0.х то же самое %)

build.log

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

 * CPV:  app-emulation/virtualbox-modules-3.1.0
 * REPO: gentoo
 * USE:  elibc_glibc kernel_linux userland_GNU x86
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/2.6.32.4/build
 * Found sources for kernel version:
 *     2.6.32.4
>>> Unpacking source...
>>> Unpacking vbox-kernel-module-src-3.1.0.tar.bz2 to /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work
>>> Source unpacked in /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work
>>> Preparing source in /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work ...
ln: создание символьной ссылки `Module.symvers': Файл существует
 * Preparing vboxdrv module
make -j2 -s HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERN_DIR=/usr/src/linux KERNOUT=/lib/modules/2.6.32.4/build all
*** Building 'vboxdrv' module ***
In file included from include/linux/gfp.h:4,
                 from include/linux/slab.h:12,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/SUPDrvInternal.h:103,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/SUPDrv.c:35:
include/linux/mmzone.h:18:26: error: linux/bounds.h: Нет такого файла или каталога
include/linux/mmzone.h:258:5: warning: "MAX_NR_ZONES" is not defined
In file included from include/linux/gfp.h:4,
                 from include/linux/slab.h:12,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/SUPDrvInternal.h:103,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/SUPDrv.c:35:
include/linux/mmzone.h:300: ошибка: ‘MAX_NR_ZONES’ не описан в этой области (не в функции)
In file included from include/linux/gfp.h:4,
                 from include/linux/slab.h:12,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/../SUPDrvInternal.h:103,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/SUPDrv-linux.c:37:
include/linux/mmzone.h:18:26: error: linux/bounds.h: Нет такого файла или каталога
include/linux/mmzone.h:258:5: warning: "MAX_NR_ZONES" is not defined
In file included from include/linux/gfp.h:4,
                 from include/linux/slab.h:12,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/../SUPDrvInternal.h:103,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/SUPDrv-linux.c:37:
include/linux/mmzone.h:300: ошибка: ‘MAX_NR_ZONES’ не описан в этой области (не в функции)
make[3]: *** [/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/SUPDrv.o] Ошибка 1
make[3]: *** Ожидание завершения заданий...
In file included from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/r0drv/linux/the-linux-kernel.h:80,
                 from /var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/SUPDrv-linux.c:38:
include/linux/mm.h:454:63: warning: "NR_PAGEFLAGS" is not defined
include/linux/mm.h:502:62: warning: "NR_PAGEFLAGS" is not defined
make[3]: *** [/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv/linux/SUPDrv-linux.o] Ошибка 1
make[2]: *** [_module_/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work/vboxdrv] Ошибка 2
make[1]: *** [vboxdrv] Ошибка 2
make: *** [all] Ошибка 2
 * ERROR: app-emulation/virtualbox-modules-3.1.0 failed:
 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERN_DIR=/usr/src/linux KERNOUT=/lib/modules/2.6.32.4/build all
 *
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 3476:  Called linux-mod_src_compile
 *   environment, line 2669:  Called die
 * The specific snippet of code:
 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                         CROSS_COMPILE=${CHOST}-                 LDFLAGS=\"$(get_abi_LDFLAGS)\"                         ${BUILD_FIXES}                         ${BUILD_PARAMS}         ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";
 *
 * If you need support, post the output of 'emerge --info =app-emulation/virtualbox-modules-3.1.0',
 * the complete build log and the output of 'emerge -pqv =app-emulation/virtualbox-modules-3.1.0'.
 * The complete build log is located at '/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/temp/environment'.
 * S: '/var/tmp/portage/app-emulation/virtualbox-modules-3.1.0/work'


на всякий случай кусок make.conf

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

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer -mmmx -msse -msse2 -msse3 --param l2-cache-size=256 --param l1-cache-size=16 -g0"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
LINGUAS="en ru"
MAKEOPTS="-j2 -s"
FEATURES="ccache"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G"
USE="-qt -kde -gnome -abiword -gstreamer -lvm1 -lvm2 cups X gtk vim-syntax alsa jpeg2k jpeg mp3 gif png xvid flac lame ogg mmx sse sse2 sse3 truetype cleartype hal dbus opengl djvu unicode aiglx dri win32codecs custom-optimization"
INPUT_DEVICES="evdev"
VIDEO_CARDS="radeon"


Что интересно, модуль для qemu также не собирается.
Кое-где в сети появлялись подобные темы, но ни одного решения сей проблемы мне найти не удалось.
Форумчане, есть какие-нибудь предложения/идеи? :) Кто виноват и что делать? ;)
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

хм...а

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

eselect kernel list
указывает на то ядро? и нафига ебилдами? можно ведь бин слить и поставить - на 32-ом ядре точно работает!
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Решено: Virtualbox 3.1

Сообщение Dunris »

megabaks писал(а): ↑
20.01.2010 21:03
хм...а

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

eselect kernel list
указывает на то ядро? и нафига ебилдами? можно ведь бин слить и поставить - на 32-ом ядре точно работает!

Да, указывает на текущее ядро.
ебилдами - труЪ :)
Все-таки предпочтительнее инсталлить пакет средствами дистрибутива, а не черт знает как.
Да и врядли какая-то общая сборка вдруг заработает, если заточенная под генту работать отказывается.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

Dunris писал(а): ↑
20.01.2010 22:24
megabaks писал(а): ↑
20.01.2010 21:03
хм...а

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

eselect kernel list
указывает на то ядро? и нафига ебилдами? можно ведь бин слить и поставить - на 32-ом ядре точно работает!

Да, указывает на текущее ядро.
ебилдами - труЪ :)
Все-таки предпочтительнее инсталлить пакет средствами дистрибутива, а не черт знает как.
Да и врядли какая-то общая сборка вдруг заработает, если заточенная под генту работать отказывается.

хм, а почему тогда у меня работает "хз какая",а у тебя Ъ нет? :)
кстати,не пробовал проверить сам - есть ли те файлы что ищет? а то глупый мат какой то
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Решено: Virtualbox 3.1

Сообщение Poor Fred »

megabaks писал(а): ↑
20.01.2010 21:03
можно ведь бин слить и поставить - на 32-ом ядре точно работает!

Модули? Или ты таки про сам VirtualBox?
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

Poor Fred писал(а): ↑
21.01.2010 10:00
megabaks писал(а): ↑
20.01.2010 21:03
можно ведь бин слить и поставить - на 32-ом ядре точно работает!

Модули? Или ты таки про сам VirtualBox?

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

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

/etc/init.d/vboxdrv setup
во :)
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Решено: Virtualbox 3.1

Сообщение Dunris »

megabaks писал(а): ↑
21.01.2010 05:31
хм, а почему тогда у меня работает "хз какая",а у тебя Ъ нет? :)
кстати,не пробовал проверить сам - есть ли те файлы что ищет? а то глупый мат какой то

Так ведь и дистрибутивная сборка, я думаю, у большинства форумчан собирается и работает как надо ;) Иначе тут была бы куча тем про неработающий VB.
Хм... Того самого "bounds.h" в каталоге с сорцами ядра почему-то нет %)
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

у меня есть :)
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Решено: Virtualbox 3.1

Сообщение Dunris »

Все это время я сидел на vanilla-sources. Попробовал установить gentoo-sources и сделал симлинк linux на них. О чудо - модуль собрался :)
Видимо, виновата моя миграция на ваниллу. Хотя я раньше не предполагал, что патчи gentoo вносят настолько сильные изменения в ядро.
Вопрос решен.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

лол - а говорил Ъ, сидя на ваниле, а не на дистровом ядре :clap:
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Решено: Virtualbox 3.1

Сообщение Dunris »

megabaks писал(а): ↑
21.01.2010 19:02
лол - а говорил Ъ, сидя на ваниле, а не на дистровом ядре :clap:

Вообще это мего оффтоп :)
Раздражает медлительность обновлений gentoo-sources: выходят с заметной задержой по сравнению с ванилой. Проще использовать vanilla-sources, я, например, разницы вообще не увидел.
И что теперь, vanilla не Ъ? :D Средствами дистрибутива ставил же а не "хз как" ;)
Вот ядро 2.6.32.4, упомянутое в топике, в портаже есть только ванильное, gentoo-sources пока 2.6.32.2.
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Решено: Virtualbox 3.1

Сообщение megabaks »

дык а толку от 32 или 32.4? я разницы между 31 и последним генту 32 не заметил - всё равно всё выкидываю и патчу как мне надо - по скорости они одинаковые - смысл в гонке за версиями? граблей по более? )))
Спасибо сказали:
Аватара пользователя
Dunris
Сообщения: 295
Статус: ...
ОС: Archlinux

Re: Решено: Virtualbox 3.1

Сообщение Dunris »

megabaks писал(а): ↑
21.01.2010 19:39
дык а толку от 32 или 32.4? я разницы между 31 и последним генту 32 не заметил - всё равно всё выкидываю и патчу как мне надо - по скорости они одинаковые - смысл в гонке за версиями? граблей по более? )))

Я, например, ядро не патчу. Однако активно использую KMS и ext4. В последних ядрах активно работают над улучшением их работы и исправлением ошибок. Хотя бы этой причины для меня достаточно ;)
По-моему пора заканчивать оффтоп. Начали про модули виртуалбокса, а закончили разницей между ядрами =) Если что-нибудь интересно, тогда уж в личку пишите, не будем в теме сорить ;)
Спасибо сказали: