为OS X编译NTFS-3G

时间:2015-06-22 11:56:14

标签: macos compiler-errors ntfs osxfuse ntfs-3g

在注意到NTFS-3G的recommended安装是五年之后的2010.10.2,因为它以.pkg方便地提供,我想尝试从{{3编译最新的2015.3.14 }}。 请注意,我不想从Brew或Macports安装它,而是手动安装

所以我试过了:

./configure && make && sudo make install

但是它告诉我pkg-config没有安装,所以我使用./configure --with-internal-glib; make; sudo make installofficial website安装了它,我得到了:

[...]
Making install in .
 ./install-sh -c -d '/usr/local/bin'
  /bin/sh ./libtool   --mode=install /usr/bin/install -c pkg-config '/usr/local/bin'
libtool: install: /usr/bin/install -c pkg-config /usr/local/bin/pkg-config
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-exec-hook
cd /usr/local/bin && ln pkg-config x86_64-apple-darwin15.0.0-pkg-config
ln: x86_64-apple-darwin15.0.0-pkg-config: File exists
make[3]: *** [install-exec-hook] Error 1
make[2]: *** [install-exec-am] Error 2
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1

我忽略了它,我再次尝试安装NTFS-3G:

./configure && make && sudo make install

但这次我得到了:

[...]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /usr/local/lib/libntfs-3g.a(libntfs_3g_la-compat.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /usr/local/lib/libntfs-3g.a(libntfs_3g_la-debug.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /usr/local/lib/libntfs-3g.a(libntfs_3g_la-realpath.o) has no symbols
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-exec-hook
if [ ! "/lib" -ef "/usr/local/lib" ]; then \
        /bin/mv -f "//usr/local/lib"/libntfs-3g.so* "//lib";  \
    fi
mv: rename //usr/local/lib/libntfs-3g.so* to //lib/libntfs-3g.so*: No such file or directory
make[3]: *** [install-exec-hook] Error 1
make[2]: *** [install-exec-am] Error 2
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1

然后我尝试了:

./configure --exec-prefix=/ && make && sudo make install

但我得到了:

[...]
install: //bin/ntfsfix: Operation not permitted
make[2]: *** [install-binPROGRAMS] Error 71
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1

然后我尝试了:

./configure --exec-prefix=/usr/local && make && sudo make install

但我得到了:

[...]
install: chmod 755 /sbin: Operation not permitted
ln -s -f /usr/local/sbin/mkntfs /sbin/mkfs.ntfs
ln: /sbin/mkfs.ntfs: Operation not permitted
make[3]: *** [install-exec-hook] Error 1
make[2]: *** [install-exec-am] Error 2
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1

我正在使用OS X 10.11 El Capitan。

1 个答案:

答案 0 :(得分:7)

从来源看来这是一个问题。 Erik Larsson于2015年6月23日提出a fix for it。非常感谢。现在可以从边缘源编译git://git.code.sf.net/p/ntfs-3g/ntfs-3g

最好从http://brew.sh获取brew,然后安装:

brew install automake
brew install libtool
brew install libgcrypt
brew install pkg-config

然后你可以编译并安装NTFS-3G(来自其文件夹):

./autogen.sh
./configure --prefix=/usr/local --mandir=/usr/local/share/man --exec_prefix=/usr/local
make
sudo make install

一个缺点:brew和ntfs-3g竞争文件夹/ usr / local /.