# KLD fuse.ko: depends on kernel - not available



## cybermerlin (Mar 19, 2014)

`uname -a`

```
FreeBSD ghost.ittown 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Fri Jan 17 01:46:25 UTC 2014 i386
```


```
Mar 19 10:21:00 ghost kernel: Starting fusefs.
Mar 19 10:21:01 ghost kernel: KLD fuse.ko: depends on kernel - not available or version mismatch
Mar 19 10:21:01 ghost kernel: kldload: can't load /usr/local/modules/fuse.ko: File exists
Mar 19 10:21:01 ghost kernel: Mounting late file systems:.
```


----------



## trh411 (Mar 19, 2014)

cybermerlin said:
			
		

> `uname -a`
> 
> ```
> FreeBSD ghost.ittown 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Fri Jan 17 01:46:25 UTC 2014
> ...


If you are going to post the output of `uname -a`, please do not arbitrarily shorten it. You removed the architecture and kernel information. So I now have to ask, are you using a GENERIC or custom kernel, and is this i386 or amd64?

Also, is this an upgrade from FreeBSD-9,x or a fresh install of FreeBSD-10.0-RELEASE? If an upgrade, did you re-install sysutils/fusefs-kmod?


----------



## cybermerlin (Mar 19, 2014)

i use pkg update ;pkg upgrade;
n cd /usr/ports/; make update; portupgrade -afD;
after upgrade freebsd from 9 to 10

I used

```
pkg update
pkg upgrade -f
cd /usr/ports/
make update
portupgrade -afD
```
after upgrading FreeBSD from 9 to 10.


----------



## trh411 (Mar 19, 2014)

cybermerlin said:
			
		

> ```
> Mar 19 10:21:00 ghost kernel: Starting fusefs.
> Mar 19 10:21:01 ghost kernel: KLD fuse.ko: depends on kernel - not available or version mismatch
> Mar 19 10:21:01 ghost kernel: kldload: can't load /usr/local/modules/fuse.ko: File exists
> ...


This error states that the version of the fuse.ko kernel module does not match the version of your kernel. That is where I would focus my efforts. Please provide the output of kldstat(8).


----------



## protocelt (Mar 19, 2014)

The FUSE module is included in the kernel starting with 10-RELEASE. The "*File exists*" in your kernel output is the clue


----------



## trh411 (Mar 19, 2014)

protocelt said:
			
		

> The FUSE module is included in the kernel starting with 10-RELEASE. The "*File exists*" in your kernel output is the clue


Fair enough, but then what is *"version mismatch"* a clue for, that the version of his "external" kernel module does not match the version of the already loaded kernel module?


----------



## protocelt (Mar 19, 2014)

trh411 said:
			
		

> protocelt said:
> 
> 
> 
> ...



To be honest I'm not sure. I've only ever seen an error like that when world and kernel were out of sync. I would delete the sysutils/fuse-kmod port and if that error still comes up, the OP might not have given the whole upgrade history.  (I'm also making the assumption the port is installed based on the statement mentioned in my previous post.)


----------



## trh411 (Mar 19, 2014)

protocelt said:
			
		

> I've only ever seen an error like that when world and kernel were out of sync.


Yeah, that's what I initially concluded and why I headed off in that direction without paying much/any attention to the "file exists" issue. From my perspective it makes no sense to check for a version match if the module is already loaded and why I considered it to be a collateral issue. But that may have been wrong.


----------



## cybermerlin (Mar 20, 2014)

problem  over
`ln -s /boot/kernel/fuse.ko /usr/local/modules/fuse.ko`


----------



## wblock@ (Mar 20, 2014)

That is more likely to be "mysterious problems just beginning."  As suggested, start by getting rid of the obsolete port.  Other ports may require a rebuild if they still depend on it.


----------



## cybermerlin (Mar 20, 2014)

But I did not install sysutils/fusefs-kmod or something else.


```
portversion |grep fuse
pkg [info|list|ver] |grep fuse
```


----------



## wblock@ (Mar 20, 2014)

If you did not install it, then it's left over from something else or someone else installed it.  My guess would be that you upgraded from an earlier version and deleted the package database without actually removing the packages.


----------



## SirDice (Mar 21, 2014)

wblock@ said:
			
		

> My guess would be that you upgraded from an earlier version and deleted the package database without actually removing the packages.


I'm guessing the conversion from the old package database to the new was skipped. So now the system simply thinks there's nothing installed.

@cybermerlin, what happens when you run `pkg2ng`?


----------



## cybermerlin (Mar 21, 2014)

```
Converting packages from /var/db/pkg
Analysing shared libraries, this will take a while... done
```


----------



## SirDice (Mar 21, 2014)

Ok, nothing seems to have been converted, so there shouldn't be any left-over old registrations. 

Hopefully this solves the issues:
`pkg delete fusefs-kmod
pkg install -f fusefs-\*`
Those commands should remove sysutils/fusefs-kmod and reinstall all fusefs-* packages.



> ```
> pkg update
> pkg upgrade -f
> cd /usr/ports/
> ...


The last portupgrade command isn't necessary, you already upgraded everything using packages with `pkg upgrade -f`. Use one or the other, try not to mix ports and packages unless you know what you're doing.


----------



## cybermerlin (Mar 21, 2014)

But I saw somewhere that PKG does not work with core applications for which it is necessary to use the ports.
Thanks for the info.


----------



## SirDice (Mar 21, 2014)

Yes, some require the use of ports to enable features that aren't enabled in the packages. But as far as I can tell none of your installed ports have those features enabled.


----------



## cybermerlin (Mar 21, 2014)

By the way, if fuse included in the kernel, then why put that port again?


----------



## SirDice (Mar 21, 2014)

cybermerlin said:
			
		

> By the way, if fuse included in the kernel, then why put that port again?


Because the same ports tree is also used on FreeBSD 8.x and 9.x, both of which don't have FUSE built-in. This seems to trip up new users quite often. Just remember that all versions of FreeBSD on all architectures use the exact same ports tree.


----------



## cybermerlin (Mar 21, 2014)

I mean, why I do need install into my version 10 fuse if it is already built-in?


----------



## kpa (Mar 21, 2014)

As far as I know FUSE is in two parts, the kernel part and the userland part. Only on FreeBSD 10 the kernel part is included in base. The userland part has to be installed from ports/packages always.


----------



## cybermerlin (Mar 21, 2014)

understood
many thanks


----------

