Opened 4 years ago

Closed 10 months ago

#39456 closed enhancement (fixed)

Fuse4X superseded by OSXFUSE

Reported by: breiter (Brian Reiter) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager), hmng@…, lpsinger (Leo Singer), chris@…, pixilla (Bradley Giesbrecht), Feuermurmel (Michael Schwarz), petrrr, andy@…, ryandesign (Ryan Schmidt), raimue (Rainer Müller), macports@…, dcecchin@…, dershow, jul_bsd@…, cmutel (Chris Mutel), axet (Alexey Kuznetsov), mp@…, macports@…
Port: fuse4x fuse4x-framework fuse4x-kext

Description (last modified by mf2k (Frank Schima))

The version of FUSE in MacPorts is quite out of date. The Fuse4X source tree MacPorts is tracking is frozen and has merged efforts with OS X FUSE. The current fuse4x version in MacPorts is 0.9.2 -- more than a year old. FUSE for X., meanwhile, is actively being developed and just released OS X FUSE 2.6 a few hours ago.

http://fuse4x.org is a dead site but the pages are available on http://fuse4x.github.io.

"Fuse4X has been merged to OSXFUSE project. Consider switching to OSXFUSE for a new development."

http://osxfuse.github.io/. Source is here: https://github.com/osxfuse/osxfuse.

Please update the /fuse tree to deprecate fuse4x in favor of osxfuse.

Remaining ports:

Attachments (6)

Portfile (3.5 KB) - added by pixilla (Bradley Giesbrecht) 4 years ago.
Portfile.2 (4.3 KB) - added by raimue (Rainer Müller) 4 years ago.
patch-buildsystem.diff (2.0 KB) - added by raimue (Rainer Müller) 4 years ago.
patch-kext-location.diff (536 bytes) - added by raimue (Rainer Müller) 4 years ago.
Portfile.3 (4.4 KB) - added by irony42@… 3 years ago.
Portfile.4 (4.6 KB) - added by pixilla (Bradley Giesbrecht) 3 years ago.
Build on 32bit systems.

Download all attachments as: .zip

Change History (75)

comment:1 Changed 4 years ago by breiter (Brian Reiter)

  • Cc brian.reiter@… added

Cc Me!

comment:2 Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Cc brian.reiter@… removed
  • Keywords fuse macfuse fuse4x osxfuse removed
  • Owner changed from macports-tickets@… to dports@…

comment:3 Changed 4 years ago by cooljeanius (Eric Gallager)

  • Cc egall@… added

Cc Me!

comment:4 Changed 4 years ago by larryv (Lawrence Velázquez)

See also #37744.

comment:5 Changed 4 years ago by hmng@…

  • Cc hmng@… added

Cc Me!

comment:6 Changed 4 years ago by lpsinger (Leo Singer)

  • Cc aronnax@… added

Cc Me!

comment:7 Changed 4 years ago by drkp (Dan Ports)

  • Summary changed from Fuse4X superseded by OS X FUSE to Fuse4X superseded by OSXFUSE

Yes, we need to move to OSXFUSE. Unfortunately, it has a pretty different build system, so this will require some work.

I started on this a while back but have not been able to find the time to complete it...

comment:8 Changed 4 years ago by petrrr

  • Cc Peter.Danecek@… added

Cc Me!

comment:9 Changed 4 years ago by chris@…

  • Cc chris@… added

Cc Me!

Changed 4 years ago by pixilla (Bradley Giesbrecht)

comment:10 Changed 4 years ago by pixilla (Bradley Giesbrecht)

  • Cc pixilla@… added

Cc Me!

comment:11 Changed 4 years ago by pixilla (Bradley Giesbrecht)

dports: The attached Portfile is a work in progress. It fetches multiple sources into the proper locations and calls the build.sh script. That is as far as I have taken it so far.

comment:12 Changed 4 years ago by Feuermurmel (Michael Schwarz)

  • Cc michi.schwarz@… added

Cc Me!

comment:13 Changed 4 years ago by petrrr

  • Cc Peter.Danecek@… removed

Cc Me!

comment:14 Changed 4 years ago by petrrr

  • Cc Peter.Danecek@… added

Cc Me!

comment:15 Changed 4 years ago by anatol (Anatol Pomozov)

Note that fuse4x-to-osxfuse merge process is not finished yet. The fuse4x changes sit in devel branch but not released to stable yet.

The latest released version of osxfuse uses horribly outdated libfuse 2.7.4 (released Aug 2008!!). There are some applications that require newer version of libfuse.

comment:16 Changed 4 years ago by neurodroid (Christoph Schmidt-Hieber)

  • Cc christsc@… added

Cc Me!

comment:17 Changed 4 years ago by andy@…

  • Cc andy@… added

Cc Me!

comment:18 Changed 4 years ago by axet (Alexey Kuznetsov)

  • Cc axet@… added

Cc Me!

comment:19 in reply to: ↑ description Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Cc ryandesign@… added
  • Port fuse4x-framework fuse4x-kext added

Replying to brian.reiter@…:

http://fuse4x.org is a dead site but the pages are available on http://fuse4x.github.io.

I have filed an upstream bug report about this and fixed the ports' homepages in r114429.

Changed 4 years ago by raimue (Rainer Müller)

Changed 4 years ago by raimue (Rainer Müller)

Changed 4 years ago by raimue (Rainer Müller)

comment:20 follow-ups: Changed 4 years ago by raimue (Rainer Müller)

Here is a new version for the osxfuse port. I resided to reuse the homebrew target that was added to osxfuse, but it still required some patching to get it to work in a custom prefix.

In my testing it works fine now, for example I am able to use the sshfs port with this. Can someone else confirm that this works?

However, the port is not perfect yet, it still installs debug symbols in *.dSYM directories. We should get rid of them before inclusion in the ports tree.

comment:21 Changed 4 years ago by raimue (Rainer Müller)

  • Cc raimue@… added

Cc Me!

comment:22 in reply to: ↑ 20 Changed 4 years ago by cooljeanius (Eric Gallager)

Replying to raimue@…:

However, the port is not perfect yet, it still installs debug symbols in *.dSYM directories. We should get rid of them before inclusion in the ports tree.

valgrind does this too, but we're okay with it there (afaik)...

Last edited 4 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:23 in reply to: ↑ 20 Changed 4 years ago by pixilla (Bradley Giesbrecht)

Replying to raimue@…:

In my testing it works fine now, for example I am able to use the sshfs port with this. Can someone else confirm that this works?

To build on 32 bit kernel I added the following (taken from the virtualbox port) to the osxfuse, ntfs-3g and sshfs ports:

# We want to match the supported arch
set kernel_arch [exec uname -m]
switch ${kernel_arch} {
    i386 -
    x86_64 {
        supported_archs ${kernel_arch}
    }
    default {
        supported_archs i386 x86_64
    }
}

My only tests were mounting with sshfs.

comment:24 Changed 4 years ago by macports@…

  • Cc macports@… added

Cc Me!

comment:25 Changed 4 years ago by irony42@…

Just chiming in that I tried this port on my 10.9 system with sshfs and ntfs-3g and everything seems to work fine. Getting rid of the dSYM dirs is probably desirable though.

The portfile should add port:automake and port:autoconf to its build dependencies.

comment:26 Changed 3 years ago by daniel.dumitrache@…

  • Cc daniel.dumitrache@… added

Cc Me!

comment:27 Changed 3 years ago by axet (Alexey Kuznetsov)

fuse4x @0.9.2_1 hangs a lot on my mac machine after migrating on mavericks. I hope this will be pushed sooon

comment:28 Changed 3 years ago by dcecchin@…

  • Cc dcecchin@… added

Cc Me!

comment:29 Changed 3 years ago by dershow

  • Cc dersh@… added

Cc Me!

comment:30 Changed 3 years ago by jul_bsd@…

  • Cc jul_bsd@… added

Cc Me!

comment:31 Changed 3 years ago by cmutel (Chris Mutel)

  • Cc cmutel@… added

Cc Me!

comment:32 Changed 3 years ago by irony42@…

osxfuse is now at 2.6.2; I've updated the portfile to reflect this. sshfs ntfs-3g and ext2fuse continue to seem happy with osxfuse. I live with this port on Mavericks, and I do not encounter the crashing mentioned above with fuse4x.

Changed 3 years ago by irony42@…

comment:33 Changed 3 years ago by mf2k (Frank Schima)

I think this port should be committed now. The only question is if dports agrees to be maintainer. Dan, what do you think?

Last edited 3 years ago by mf2k (Frank Schima) (previous) (diff)

Changed 3 years ago by pixilla (Bradley Giesbrecht)

Build on 32bit systems.

comment:34 Changed 3 years ago by pixilla (Bradley Giesbrecht)

Portfile.4 is based from Portfile.3 adding fix for building on 32bit systems.

Last edited 3 years ago by pixilla (Bradley Giesbrecht) (previous) (diff)

comment:35 Changed 3 years ago by drkp (Dan Ports)

I'm willing to maintain it but I don't have as much time available as I used to (as might be obvious. :-). If anyone else is interested in maintaining or co-maintaining it, I'd appreciate the help!

comment:36 follow-up: Changed 3 years ago by breiter (Brian Reiter)

I just looked and it seems like FUSE file systems in MacPorts are also very out of date, perhaps as a consequence of not having OSXFUSE as a dependency.

For example:

  • SSHFS is 2 years old and not current.
  • S3FS is nearly 4 years old and several releases out of date. Also the project is moved from code.google.com to github.
  • NTFS-3G is also not the current stable version.
  • Offlinefs does not have the current stable version from over a year ago.

Should these be raised as separate issues?

comment:37 Changed 3 years ago by mf2k (Frank Schima)

osxfuse added in r119116. I also added a conflict with fuse4x

comment:38 in reply to: ↑ 36 Changed 3 years ago by mf2k (Frank Schima)

Replying to brian.reiter@…:

Should these be raised as separate issues?

Yes, definitely.

comment:39 Changed 3 years ago by mf2k (Frank Schima)

@Dan: fuse4x should be updated to conflict with the new osxfuse port.

comment:40 Changed 3 years ago by drkp (Dan Ports)

It ought to be replaced_by, in fact, and we probably need to update the fuse filesystem ports to depend on osxfuse instead since they're presumably not binary-compatible...

comment:41 Changed 3 years ago by mf2k (Frank Schima)

ntfs-3g updated to latest version and switched to osxfuse in r119122.

comment:42 Changed 3 years ago by mf2k (Frank Schima)

sshfs updated to latest version in r119119 and switched to osxfuse in r119123.

comment:43 Changed 3 years ago by mf2k (Frank Schima)

  • Type changed from request to enhancement
  • Version 2.1.3 deleted

ext4fuse switched to osxfuse in r119124.

comment:44 Changed 3 years ago by drkp (Dan Ports)

fuse4x replaced_by osxfuse in r119125. Looks good so far.

comment:45 Changed 3 years ago by mf2k (Frank Schima)

I am attempting to update s3fs but it has a requirement:

:info:configure configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9) were not met:
:info:configure 
:info:configure Requested 'fuse >= 2.8.4' but version of fuse is 2.7.3

Maybe that requirement needs to be removed?

comment:46 follow-up: Changed 3 years ago by axet (Alexey Kuznetsov)

unable to install encfs

Error: fuse4x has been made obsolete by the port osxfuse
Last edited 3 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:47 Changed 3 years ago by dershow

ext2fuse is also unhappy about the change and needs to be updated to require the osxfuse port.

comment:48 Changed 3 years ago by mf2k (Frank Schima)

It is best to open new tickets for the individual issues so they can be assigned to the proper maintainer and not get forgotten. We can track the progress of switching to osxfuse from here directly with links to those tickets.

The encfs issue is #43403.

comment:49 Changed 3 years ago by dershow

ext2fs ticket created: #43405

Last edited 3 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:50 Changed 3 years ago by mf2k (Frank Schima)

Please use WikiFormatting when citing tickets so we can see their status. In this case #43405.

comment:51 in reply to: ↑ 46 Changed 3 years ago by flx.ms@…

Replying to axet@…:

unable to install encfs

Error: fuse4x has been made obsolete by the port osxfuse

A Ticket for this has been created: 43403

comment:52 Changed 3 years ago by axet (Alexey Kuznetsov)

  • Cc axet@… removed

Cc Me!

comment:53 Changed 3 years ago by axet (Alexey Kuznetsov)

  • Cc axet@… added

Cc Me!

comment:54 follow-up: Changed 3 years ago by jul_bsd@…

The following ports are also impacted: py-fuse and the pending one: truecrypt, libvdi, libvshadow, libolecf, libqcow, libregf

comment:55 Changed 3 years ago by petrrr

There is also hadoop port depending on fuse, ticket #43427.

comment:56 Changed 3 years ago by drkp (Dan Ports)

Fixed many affected dependent ports:

Still remaining:

  • hadoop +fusedfs (#43427)
  • mp3fs
  • offlinefs
  • s3fs

The last three of those don't build easily; it's not obvious to me yet whether that's related to osxfuse or whether the ports have just bit-rotted for unrelated reasons.

comment:57 Changed 3 years ago by petrrr

All three ports are somewhat aged, but the software project seem to be active. Maybe it was not possible to update before? (Just a guess)... So probably it helps to try updating these. mp3fs (now @ 0.9) is documented to compile against osxfuse. Have not found such details immediately for the other ones.

comment:58 in reply to: ↑ 54 Changed 3 years ago by neurodroid (Christoph Schmidt-Hieber)

Replying to jul_bsd@…:

The following ports are also impacted: py-fuse and the pending one: truecrypt, libvdi, libvshadow, libolecf, libqcow, libregf

The TrueCrypt Portfile has been updated to use osxfuse. See #41421

comment:59 Changed 3 years ago by daniel.dumitrache@…

  • Cc daniel.dumitrache@… removed

Cc Me!

comment:60 Changed 3 years ago by mf2k (Frank Schima)

  • Description modified (diff)

comment:61 Changed 3 years ago by mf2k (Frank Schima)

  • Description modified (diff)

comment:62 Changed 3 years ago by mf2k (Frank Schima)

  • Description modified (diff)

comment:63 Changed 3 years ago by mf2k (Frank Schima)

  • Port changed from fuse4x, fuse4x-framework, fuse4x-kext to fuse4x fuse4x-framework fuse4x-kext

comment:64 Changed 3 years ago by mp@…

  • Cc mp@… added

Cc Me!

comment:65 Changed 3 years ago by long.lvnh@…

fuse4x should be able to be installed if the user wants it instead of osxfuse as osxfuse has some issues, like when using ntfs-3g with the auto mounting system of Mac OS X, the issue is listened here https://github.com/osxfuse/osxfuse/issues/119 and it is about osxfuse not removing the directory where the NTFS volume was mounted so upon mounting again the volume, it will be mounted on "BOOTCAMP 2" for example, breaking symlinks and on the n-th time it will be mounted on "BOOTCAMP n". It has been reported since 2 months ago, which makes me think that the issue will remain around for a while and fuse4x works perfect for me.

Still I wasn't able to downgrade it using macports so I uninstalled osxfuse, fuse4x & ntfs-3g ports from my system so I installed fuse4x & ntfs-3g manually:

Downloaded:

The official Fuse4X dmg from http://fuse4x.github.io/ ( Fuse4X-0.9.2.dmg )

The ntfs-3g sources version 2014.2.15 from http://www.tuxera.com/community/ntfs-3g-download/ ( ntfs-3g_ntfsprogs-2014.2.15.tgz )

Installed:

Fuse4X.pkg from Fuse4X-0.9.2.dmg

Extracted the sources from ntfs-3g_ntfsprogs-2014.2.15.tgz and executed the following commands:

./configure --exec-prefix=/usr/local --with-fuse=external
make
sudo make install

Mount script: I have the following script for Mac OS X auto mounting ( /sbin/mount_ntfs ):

#!/bin/bash

VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=499
GROUP_ID=20

if [ /usr/bin/stat -f %u /dev/console -ne 0 ]; then
USER_ID=/usr/bin/stat -f %u /dev/console
GROUP_ID=/usr/bin/stat -f %g /dev/console
fi

/usr/local/bin/ntfs-3g \
-o volname="${VOLUME_NAME}" \
-o local \
-o noappledouble \
-o negative_vncache \
-o auto_xattr \
-o auto_cache \
-o noatime \
-o windows_names \
-o user_xattr \
-o inherit \
-o uid=$USER_ID \
-o gid=$GROUP_ID \
-o allow_other \
-o hide_dot_files \
"$@" >> /var/log/mount-ntfs-3g.log 2>&1

exit $?;

For now I will remain with this obsolete fuse4x setup at least until the next major update of OSX in case fuse4x doesn't build for that time or osxfuse has it fixed.

Last edited 3 years ago by long.lvnh@… (previous) (diff)

comment:66 Changed 23 months ago by macports@…

  • Cc macports@… added

Cc Me!

comment:67 Changed 14 months ago by mf2k (Frank Schima)

  • Description modified (diff)

mp3fs done in r149164.

comment:68 Changed 14 months ago by neurodroid (Christoph Schmidt-Hieber)

  • Cc christsc@… removed

Cc Me!

comment:69 Changed 10 months ago by drkp (Dan Ports)

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.