我在主機和訪客上都使用 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
同樣的問題,在軟體中心提供的帶有 VirtualBox 4.2.16 的 Saucy 13.10 上...通過(首先刪除 Ubuntu 的過時版本)然後安裝直接從下載的 4.3.6 來修復它https://www.virtualbox.org/wiki/Linux_Downloads。
答案3
在此下載最新版本的 VirtualBox isohttp://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 對我有用。