Я использую 13.10 как для хоста, так и для гостя. На хосте есть iso гостевых дополнений. При установке гостевых дополнений я сталкиваюсь с ошибкой при попытке скомпилировать модуль общих файлов. Соответствующий файл журнала /var/log/vboxadd-install.log показывает следующее:
gcc -Wp,-MD,/tmp/vbox.0/.dirops.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.8/include -I/usr/src/linux-he
aders-3.11.0-12-generic/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.11.0-12-gene
ric/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-3.11.0-12-generic/include/uapi -Iin
clude/generated/uapi -include /usr/src/linux-headers-3.11.0-12-generic/include/linux/kconfig.h -Iubuntu/include -D__KER
NEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declar
ation -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-sse -mpreferred-stack-boundary=3 -mtune=generic
-mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_X86_X32_ABI -DCONF
IG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_A
S_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe
-larger-than=1024 -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mfentry -DCC_USI
NG_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -fsho
rt-wchar -include /tmp/vbox.0/include/VBox/VBoxGuestMangling.h -I/lib/modules/3.11.0-12-generic/build/include -I/tmp/vbo
x.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxsf/ -I/tmp/vbox.0/vboxsf/include -I/tmp/vbox.0/vb
oxsf/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODU
LE -DIN_GUEST_R0 -DRT_NO_EXPORT_SYMBOL -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS -DMODULE -D"KBUILD_STR(s)=#s" -D"KBU
ILD_BASENAME=KBUILD_STR(dirops)" -D"KBUILD_MODNAME=KBUILD_STR(vboxsf)" -c -o /tmp/vbox.0/.tmp_dirops.o /tmp/vbox.0/diro
ps.c
/tmp/vbox.0/dirops.c:292:5: error: unknown field ‘readdir’ specified in initializer
.readdir = sf_dir_read,
^
Я считаю, что это может иметь отношение кhttps://forums.virtualbox.org/viewtopic.php?f=10&t=56954. Кто-нибудь еще сталкивался с такой же проблемой и есть ли простое решение?
решение1
У меня была та же проблема. На моей стороне хост - WindowsXP, а гость - Ubuntu 13.10. Я обновлял гостя с 13.04 до 13.10 и в то же время я обновил VirtualBox с 4.2 до 4.3 (на хосте).
Я пытался скомпилировать гостевые расширения с помощью
/etc/init.d/vboxadd setup
безуспешно.
Затем я попробовал из нового образа Virtualbox ISO:
sudo /media/x/VBOXADDITIONS_4.3.2_90405/VBoxLinuxAdditions.run
Оно работает :-)
Я не знаю, как вы пытались скомпилировать гостевые дополнения, но, возможно, попытка из ISO вам поможет.
решение2
Та же проблема, на Saucy 13.10 с VirtualBox 4.2.16, который доступен в Центре программного обеспечения... исправил ее (сначала удалив устаревшую версию Ubuntu), а затем установив версию 4.3.6, загруженную непосредственно сhttps://www.virtualbox.org/wiki/Linux_Downloads.
решение3
Загрузите последнюю версию VirtualBox iso здесьhttp://download.virtualbox.org/virtualbox/
ИЛИ автоматически загрузить его с помощью этой команды
version=$(wget -qO- http://download.virtualbox.org/virtualbox/LATEST.TXT)&& wget http://download.virtualbox.org/virtualbox/$version/VBoxGuestAdditions_$version.iso
Мне помогло использование новейшего образа ISO.