> On Mar 15, 2024, at 11:04 PM, Felix Palmen <[email protected]> wrote: > > * Zhenlei Huang <[email protected]> [20240315 22:57]: >> Message from virtualbox-ose-kmod-6.1.50: >> >> -- >> The vboxdrv kernel module uses internal kernel APIs. >> >> To avoid crashes due to kernel incompatibility, this module will only >> load on FreeBSD 13.2 kernels. >> ``` > > This message is generated, see > https://cgit.freebsd.org/ports/tree/emulators/virtualbox-ose-kmod/files/pkg-message.in > > So, in a nutshell, it will only load on the kernel it was built for. > > Therefore, for some reason OP just didn't successfully build/install it > locally.
I think you are right.
The error message
> KLD vboxdrv.ko: depends on kernel - not available or version mismatch
actually hints that the dependency 'kernel' of the module vboxdrv.ko is not
satisfied,
from bc6d5725ed6c (emulators/virtualbox-ose-kmod*: Tie to a specific release
branch) and
kernel source `sys/kern/kern_linker.c`:
```
error = linker_load_module(NULL, modname, lf, verinfo, NULL);
if (error) {
printf("KLD %s: depends on %s - not available or"
" version mismatch\n", lf->filename, modname);
break;
}
```
The definition of DECLARE_MODULE_WITH_MAXVER is:
```
#define DECLARE_MODULE_WITH_MAXVER(name, data, sub, order, maxver) \
MODULE_DEPEND(name, kernel, __FreeBSD_version, \
__FreeBSD_version, maxver); \
MODULE_METADATA(_md_##name, MDT_MODULE, &data, __XSTRING(name));\
SYSINIT(name##module, sub, order, module_register_init, &data); \
struct __hack
```
, then the kernel `version mismatch` means the `__FreeBSD_version` is not 13.3
(or SA / EN).
So if the vitualbox ose kernel module *IS* built from source then it is almost
definitely linked
against wrong `__FreeBSD_version` (either /usr/include/osreldate.h is outdated
or the module
is linked against wrong header file).
>
> --
> Felix Palmen <[email protected]> {private} [email protected]
> -- ports committer -- {web} http://palmen-it.de
> {pgp public key} http://palmen-it.de/pub.txt
> {pgp fingerprint} 6936 13D5 5BBF 4837 B212 3ACC 54AD E006 9879 F231
signature.asc
Description: Message signed with OpenPGP
