fusefs-kmod does not work on 8-STABLE?

Ryan Stone rysto32 at gmail.com
Tue Apr 16 02:41:42 UTC 2013


On Fri, Apr 12, 2013 at 10:28 AM, Alexey Dokuchaev <danfe at nsu.ru> wrote:

> On Fri, Apr 12, 2013 at 05:17:46PM +0700, Alexey Dokuchaev wrote:
> > On Wed, Apr 10, 2013 at 12:27:10PM +0700, Alexey Dokuchaev wrote:
> > > I've got puzzled with the fact that fusefs-kmod apparently does not on
> > > recent 8-STABLE: it builds and loads, but I don't see normal "fuse4bsd:
> > > version 0.3.9-pre1, FUSE ABI 7.19" like I do on 9-STABLE (installed on
> the
> > > same laptop with almost identical kernel config).
> > >
> > > The result is that /dev/fuse0 never gets created, and any fuse mount
> > > attempt results in this message:
> > >
> > >   fuse: failed to open fuse device: No such file or directory
> >
> > I've traced the problem down a bit, it seems to be due to some weird
> > brokenness of building modules outside the kernel: .ko file loads, but
> > modevent() functions apparently does not execute at all.
>
> I've found the culprit: the problem is in this command of the build:
>
>     ld -Bshareable  -d -warn-common -o hello.ko.debug hello.kld
>
> I had put /usr/local/bin in my $PATH before /usr/bin for a reason I don't
> currently recall, and have binutils-2.23.1 installed.  As a result, ld(1)
> in the quoted line above was called from /usr/local/bin/ld, which brought
> in all the weird things I was observing: failure of fusefs-kmod, failure
> of simple "hello world" KLD, "link_elf: symbol <blah> undefined" messages
> when loading snd_hda(4) and nvidia(4) drivers.
>
> How, does anyone have a clue why new ld(1) plays so badly with our system
> toolchain on 8.x (at least)?
>
> ./danfe
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>

Is this for i386?  When compiling modules with newer versions of ld I had
to add the following flags to the ld invocation to get the module to work:

-u __start_set_sysinit_set -u __start_set_sysuninit_set \
-u __start_set_sysctl_set -u __start_set_modmetadata_set \
-u __stop_set_sysinit_set -u __stop_set_sysuninit_set \
-u __stop_set_sysctl_set -u __stop_set_modmetadata_set


More information about the freebsd-stable mailing list