bispawel / macfuse

Automatically exported from code.google.com/p/macfuse
Other
0 stars 0 forks source link

ntfs-3g fails to compile with OS X fuse libraries #6

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Trying to compile ntfs-3g fails on OS X.  To replicate:

1. Download ntfs-3g
2. Edit configure, removing 3 lines which prevent compiling on anything but 
Linux (line 19914)
3. Pass -D_FILE_OFFSET_BITS=64 for compile flags
4. Run make, make fails with undefined symbols

/usr/bin/ld: Undefined symbols:
_fuse_destroy
_fuse_exit
_fuse_get_context
_fuse_loop
_fuse_mount
_fuse_new
_fuse_opt_add_arg
_fuse_opt_free_args
_fuse_unmount

Resetting include dirs, and lib dirs to /usr/local does not appear to fix the 
issue

Original issue reported on code.google.com by rave...@gmail.com on 11 Jan 2007 at 10:15

GoogleCodeExporter commented 8 years ago
Hm, http://code.google.com/p/macfuse/wiki/FILESYSTEMS_TESTED says it's been 
"tested". I assume this means 
someone did manage to build it?

I'm running into the same problem as you; it compiles, but fails to link.

Original comment by chucker...@gmail.com on 11 Jan 2007 at 11:31

GoogleCodeExporter commented 8 years ago
Managed to build and link it with Amit's suggestion at 
<http://code.google.com/p/macfuse/issues/detail?
id=7#c3>.

Instead of deleting those three lines, replace
case "$target_os" in
linux*)
with
case "$target_os" in
*)

Original comment by chucker...@gmail.com on 12 Jan 2007 at 3:01

GoogleCodeExporter commented 8 years ago
It "works", but not perfectly.

I can mount like 'sudo ntfs-3g /dev/disk0s4 $(mountpoint) -oping_diskarb', but 
I need root; it can't 
otherwise access the device (should I make ntfs-3g setuid?). Also, doing this 
does nothing to impress the 
Finder; 'diskutil -r' and 'killall Finder' does no good either. It simply 
doesn't appear.

Trying to open the mountpoint in Finder gives me an alert of:
"The volume for $(mountpoint) cannot be found.
Insert the disk or connect to the server volume and wait for it to appear on 
the desktop, then try again."

Yet, in Terminal, it's right there. I can browse it with 'ls', I can read and 
write, and changes are persistent. 
Moreover, 'mount' shows:
"/dev/disk0s4@0 on $(mountpoint) (synchronous)"

I /did/, of course, unmount the (read-only) regular mount of the same NTFS file 
system before attempting 
this, so that one should not be interfering.

Original comment by chucker...@gmail.com on 12 Jan 2007 at 3:27

GoogleCodeExporter commented 8 years ago
The first time, I also got this error:
"sh: line 1: modprobe: command not found"

I haven't gotten it since, but I assume a patch /might/ be useful to replace 
this with running kextload instead?

Original comment by chucker...@gmail.com on 12 Jan 2007 at 3:39

GoogleCodeExporter commented 8 years ago
Alright, it fully works now. I setuid'd ntfs-3g like:
sudo chown root:wheel /opt/local/bin/ntfs-3g 
sudo chmod u+s /opt/local/bin/ntfs-3g

To mount, I create a mountpoint like:
sudo mkdir /Volumes/Look
, then run:
ntfs-3g /dev/disk0s4 /Volumes/Look -o ping_diskarb,volname="Look"

The disk appears in Finder and can also be ejected there. I'm still confused 
why it apparently insists on having 
the mountpoint in /Volumes, when SSHFS did not, but I guess this works for now. 
Great, great project!

Original comment by chucker...@gmail.com on 12 Jan 2007 at 3:51

GoogleCodeExporter commented 8 years ago
The interaction of MacFUSE with the Finder is somewhat complex. It's not really 
a MacFUSE thing, but a Finder 
thing and a Disk Arbitration thing. Please read the "MacFUSE and the Finder" 
wiki page for details.

Original comment by si...@gmail.com on 12 Jan 2007 at 4:38

GoogleCodeExporter commented 8 years ago
I originally used the tarball patched with the freebsd extension. Now I'm 
compiling without the patches. Worth to 
mention that I also had to delete "-pthread" flag from include/Makefile

Original comment by mihailes...@gmail.com on 12 Jan 2007 at 4:58

GoogleCodeExporter commented 8 years ago

Original comment by si...@gmail.com on 12 Jan 2007 at 4:59