ports/153337: print/acroread9: terminate called after throwing an instance of 'RSException'

Matthias Andree matthias.andree at gmx.de
Tue May 31 13:43:26 UTC 2011


Am 31.05.2011 13:51, schrieb Robert Huff:
> 
> Matthias Andree writes:
> 
>>  > May 30 07:56:37 jerusalem kernel: KLD linux_adobe.ko: depends on kernel - not available or version mismatch
>>  > May 30 07:56:37 jerusalem kernel: linker_load_file: Unsupported file type
>>  > May 30 07:57:48 jerusalem huff: /usr/local/etc/rc.d/linux_adobe: WARNING: Unable to load kernel module /usr/local/libexec/linux_adobe/linux_adobe.ko
>>  
>>  "version mismatch" looks likely here - are you sure that your
>>  running kernel and the kernel sources are in synch?
> 
> 	Quite sure they're not.  Kernel sources get updated every day
> at (local) midnight; they're used to upgrade the kernel ... usually
> every month (sometimes longer), but sometimes quickly if a problem
> if discovered that update corrects.

So that's the cause.

Simple solution: rebuild your kernel source from /usr/src/sys, reboot,
and rebuild and reinstall all modules with the same kernel sources in
place.  I believe something like this isn't too hard to grasp from the
"staying current" handbook sections.  If it's not, feel free to propose
a wording.

Don't update or build new kernel modules until you're ready to upgrade
your kernel and reboot.

>>  If not, that's where the mismatch comes from.
> 
> 	This is the second program - the other is sysutils/lsof - that
> makes this (to my mind unwarranted) assumption.
> 	Recognizing this unlikely to change, can this expectation be
> documented so it is announced at compile time?

The assumption is neither unwarranted nor surprising.

1. You are compiling kernel modules, i. e. stuff that meddles with
/internal/ kernel interfaces (else it were a regular application, not a
kernel module)

2. You are also using -CURRENT, which is a moving target, by definition,
and as documented.  (The same applies to -STABLE BTW. - if you want
really stable code, stick to the -RELEASE-s.)

You need to make sure that the kernel sources (including headers) of
your currently running kernel and the modules to be loaded are
compatible, because the header files in the kernel sources are what
defines the interfaces.


More information about the freebsd-ports mailing list