Combining Fuse and Wine - What's the best way?

Richard Stitz richardstitz at gmail.com
Wed Dec 24 16:54:57 CST 2008


I tried but I've hit a problem.  I'm just trying to compile the "Hello
world" Fuse application.
(http://fuse.sourceforge.net/helloworld.html)  In regular gcc, I can
compile and run it fine:

  $ gcc -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=22 -lfuse -o main main.c
  $ mkdir test
  $ ./main test
  $ cat test/hello
  Hello World!
  $ sudo umount test
  $ rm -r test

All goes well.  However, if I try to compile this app with winegcc, it
fails to run properly:

  $ winegcc -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=22 -lfuse -o main main.c
  $ mkdir test
  $ ./main test
  fusermount: failed to open /etc/fuse.conf: Permission denied
  fusermount: waitpid: No child processes
  $ sudo umount test

(I still had to umount the directory even though the mount failed, as
mtab recorded that both /dev/fuse and main.exe.so were mounted to the
directory, despite the failed mount.  Using umount cleaned the entried
from mtab.)  I also tried to do so as root (given the whole permission
denied thing):

  $ sudo su
  # ./main test
  fuse: waitpid: No child processes
  # umount test
  # rm -r test

If I compile the app again using the first method, it goes flawlessly
again.  What do I need to do to get it working with winegcc?

On Wed, Dec 24, 2008 at 6:52 AM, Stefan Dösinger <stefan at codeweavers.com> wrote:
>
> You have to use winegcc(see 'winemaker' for starting points). That way your
> app is compiled to a .exe.so file that can be run with 'wine foo.exe.so' or
> with a helper script. This application is a native Linux app, and it can
> link to Linux libraries like Fuse, and at the same time use Win32 API calls
> from Wine and e.g. open a DLL with LoadLibrary.



More information about the wine-devel mailing list