VirtualBox

Opened 3 years ago

Last modified 3 years ago

#20102 awaitsfeedback defect

Unable to compile Guest Additions on Linux Kernel 5.4.80.

Reported by: TheStudent Owned by:
Component: guest additions Version: VirtualBox 6.1.16
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

I am trying to install the guest additions for Linux, and I'm encountering a problem. I have Gentoo Linux with the 5.4.80 kernel, and I get MANY missing symbols. They are:

ERROR: "ttm_bo_eviction_valuable" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_tt_fini" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_put" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_move_to_lru_tail" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_validate" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_init" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_add_to_lru" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_kmap" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_tt_init" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_dma_acc_size" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_init_mm" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_device_init" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_del_sub_from_lru" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_kunmap" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_device_release" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_manager_func" [/tmp/vbox.0/vboxvideo.ko] undefined!
ERROR: "ttm_bo_mmap" [/tmp/vbox.0/vboxvideo.ko] undefined! 

Notice that all are in the vboxvideo.ko module.

Any tips are most appreciated.

Change History (2)

comment:1 by paulson, 3 years ago

Status: newawaitsfeedback

I tried building the VirtualBox 6.1.16 GAs from virtualbox.org on a Gentoo 5.4.80 system and I don't seem to see these errors:

# uname -a
Linux gentoo 5.4.80-gentoo-r1-x86_64 #1 SMP Wed Jan 6 14:21:51 EST 2021 x86_64 Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz GenuineIntel GNU/Linux

# gcc -v
[...]
gcc version 9.3.0 (Gentoo 9.3.0-r2 p4)

# pwd
/opt/VBoxGuestAdditions-6.1.16/src/vboxguest-6.1.16/vboxvideo

# make clean && make ; echo $?
[...]
  ld -r -m elf_x86_64  -z max-page-size=0x200000 --build-id  -T ./scripts/module-common.lds -o /opt/VBoxGuestAdditions-6.1.16/src/vboxguest-6.1.16/vboxvideo/vboxvideo.ko /opt/VBoxGuestAdditions-6.1.16/src/vboxguest-6.1.16/vboxvideo/vboxvideo.o /opt/VBoxGuestAdditions-6.1.16/src/vboxguest-6.1.16/vboxvideo/vboxvideo.mod.o;  true
make[1]: Leaving directory '/usr/src/linux-5.4.80-gentoo-r1'
0

Do you see these errors with the VirtualBox Guest Additions (GAs) from Gentoo or from virtualbox.org? Which version of the GAs are you using? Is it possible you have some additional kernel patches on your system that aren't on mine?

comment:2 by paulson, 3 years ago

I ran into this on a Debian system where the kernel had not been built with CONFIG_DRM_TTM set so there was no ttm.ko kernel module. The 'make nconfig' output describes this configuration option as:

 │ Symbol: DRM_TTM [=n]                                                       │
 │ Type  : tristate                                                           │
 │ Defined at drivers/gpu/drm/Kconfig:177                                     │
 │   Depends on: HAS_IOMEM [=y] && DRM [=y] && MMU [=y]                       │
 │ Selected by [n]:                                                           │
 │   - DRM_TTM_HELPER [=n] && HAS_IOMEM [=y] && DRM [=y]                      │
 │   - DRM_RADEON [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y]  │
 │   - DRM_AMDGPU [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y]  │
 │   - DRM_NOUVEAU [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y] │
 │   - DRM_VMWGFX [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && X86 [=y] &│
 │   - DRM_GMA500 [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && X86 [=y] &│
 │   - DRM_AST [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y]     │
 │   - DRM_QXL [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y]     │
 │   - DRM_BOCHS [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y]   │
 │   - DRM_HISI_HIBMC [=n] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && ARM64 │
 │   - DRM_VBOXVIDEO [=n] && HAS_IOMEM [=y] && DRM [=y] && X86 [=y] && PCI [=y│
 │                                                                            │

You can check the Linux build options on your Gentoo system using 'zless /proc/config.gz'. You can also double check if ttm.ko exists under /lib/modules. For example, on my Gentoo 5.4.80 system it is here:

/lib/modules/5.4.80-gentoo-r1-x86_64/kernel/drivers/gpu/drm/ttm/ttm.ko

and here:

/usr/src/linux-5.4.80-gentoo-r1/drivers/gpu/drm/ttm/ttm.ko

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use