Lỗi xây dựng bổ sung máy khách ảo cho openSUSE 13.1


1

Tôi đang chạy hệ điều hành khách openSUSE 13.1 bên trong hộp ảo trên máy chủ Ubuntu 12.04. Hệ điều hành đã cài đặt tốt, nhưng khi tôi cố gắng xây dựng các addon khách bằng cách phát hành "./VBoxLinuxAdditions.run", quá trình xây dựng không thành công khi đăng nhập vào vboxadd-install.log bên dưới. Tôi đã cài đặt tất cả các phụ thuộc bao gồm make, gcc và kernel-source:

đầu ra vbox-install.log

grep: /lib/modules/3.11.6-4-default/build/include/linux/version.h: No such file or directory
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/3.11.6-4-default/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 modules
make -C /usr/src/linux-3.11.6-4-obj/i386/default \
KBUILD_SRC=/usr/src/linux-3.11.6-4 \
KBUILD_EXTMOD="/tmp/vbox.0" -f /usr/src/linux-3.11.6-4/Makefile \
modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        \
echo >&2;                            \
echo >&2 "  ERROR: Kernel configuration is invalid.";        \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";    \
echo >&2 ;                            \
/bin/false)
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f /usr/src/linux-3.11.6-4/scripts/Makefile.build obj=/tmp/vbox.0
  gcc -Wp,-MD,/tmp/vbox.0/.VBoxGuest-linux.o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.8/include -I/usr/src/linux-3.11.6-4/arch/x86/include -Iarch/x86/include/generated  -I/usr/src/linux-3.11.6-4/include -Iinclude -I/usr/src/linux-3.11.6-4/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-3.11.6-4/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-3.11.6-4/include/linux/kconfig.h   -I/tmp/vbox.0 -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i586 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-than=2048 -Wno-unused-but-set-variable -fomit-frame-pointer -fasynchronous-unwind-tables -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -include /tmp/vbox.0/include/VBox/VBoxGuestMangling.h   -I/lib/modules/3.11.6-4-default/build/include   -I/tmp/vbox.0/   -I/tmp/vbox.0/include   -I/tmp/vbox.0/r0drv/linux   -I/tmp/vbox.0/vboxguest/   -I/tmp/vbox.0/vboxguest/include   -I/tmp/vbox.0/vboxguest/r0drv/linux -D__KERNEL__ -DMODULE -DVBOX -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_MODULE -DRT_WITH_VBOX -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DRT_ARCH_X86  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(VBoxGuest_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxguest)" -c -o /tmp/vbox.0/.tmp_VBoxGuest-linux.o /tmp/vbox.0/VBoxGuest-linux.c
/tmp/vbox.0/VBoxGuest-linux.c:206:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_VBoxGuestPciId’
 static const struct pci_device_id __devinitdata g_VBoxGuestPciId[] =
                                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:78:0,
                 from /tmp/vbox.0/VBoxGuest-linux.c:28:
/usr/src/linux-3.11.6-4/include/linux/module.h:87:32: error: ‘__mod_pci_device_table’ aliased to undefined symbol ‘g_VBoxGuestPciId’
 extern const struct gtype##_id __mod_##gtype##_table  \
                                ^
/usr/src/linux-3.11.6-4/include/linux/module.h:140:3: note: in expansion of macro ‘MODULE_GENERIC_TABLE’
   MODULE_GENERIC_TABLE(type##_device,name)
   ^
/tmp/vbox.0/VBoxGuest-linux.c:216:1: note: in expansion of macro ‘MODULE_DEVICE_TABLE’
 MODULE_DEVICE_TABLE(pci, g_VBoxGuestPciId);
 ^
make[4]: *** [/tmp/vbox.0/VBoxGuest-linux.o] Error 1
make[3]: *** [_module_/tmp/vbox.0] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make: *** [vboxguest] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.

Câu trả lời:


0

Rất có thể, lỗi này là do các tiêu đề linux không đồng bộ với kernel của bạn. Bạn sẽ phải tải xuống một phiên bản mới hơn của các tiêu đề linux. Tôi không có máy tính OpenSUSE trong tay, nhưng dường như tôi nhớ rằng các tiêu đề được đặt trong gói * linux-glibc-devel *.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.