Macos 为OSX编译NTFS-3G

Macos 为OSX编译NTFS-3G,macos,compiler-errors,ntfs,osxfuse,ntfs-3g,Macos,Compiler Errors,Ntfs,Osxfuse,Ntfs 3g,注意到NTFS-3G的安装已经有五年的历史了,即2010.10.2,因为它可以方便地作为.pkg提供,我想尝试从中编译最新的2015.3.14。请注意,我不想从Brew或Macports安装,而是手动安装 所以我试着: ./configure && make && sudo make install 但是它告诉我没有安装pkg config,所以我使用/configure-内部glib安装了它;制作sudo make install我得到了: [...] Mak

注意到NTFS-3G的安装已经有五年的历史了,即2010.10.2,因为它可以方便地作为.pkg提供,我想尝试从中编译最新的2015.3.14。请注意,我不想从Brew或Macports安装,而是手动安装

所以我试着:

./configure && make && sudo make install
但是它告诉我没有安装
pkg config
,所以我使用
/configure-内部glib安装了它;制作sudo make install
我得到了:

[...]
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
./configure --exec-prefix=/usr/local && 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
[...]
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
然后我试着:

./configure --exec-prefix=/ && make && sudo make install
./configure --exec-prefix=/usr/local && 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
[...]
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。

看来这是源代码的问题。Erik Larsson于2015年6月23日制作。非常感谢你。现在可以从边缘源代码进行编译了git://git.code.sf.net/p/ntfs-3g/ntfs-3g

最好从获取brew,然后安装:

brew install automake
brew install libtool
brew install libgcrypt
brew install pkg-config
然后您可以编译并安装NTFS-3G(从其文件夹):


一个缺点是:brew和ntfs-3g都在争夺文件夹/usr/local/

这似乎是源代码的问题。Erik Larsson于2015年6月23日制作。非常感谢你。现在可以从边缘源代码进行编译了git://git.code.sf.net/p/ntfs-3g/ntfs-3g

最好从获取brew,然后安装:

brew install automake
brew install libtool
brew install libgcrypt
brew install pkg-config
然后您可以编译并安装NTFS-3G(从其文件夹):


一个缺点:brew和ntfs-3g都在争夺/usr/local/

文件夹,Erik Larsson告诉我应该使用
/configure--prefix=/usr/local--mandir=/usr/local/share/man--exec_prefix=/usr/local
,这给出了我问题的最新结果。如果您不想使用brew,因为它不支持从最新的NTFS-3G源生成,它现在接受
brew安装NTFS-3G--HEAD
,在任何情况下,你都可以看看homebrew是如何做到的,然后在你的系统上复制这些步骤Erik Larsson告诉我应该使用
/configure--prefix=/usr/local--mandir=/usr/local/share/man--exec_prefix=/usr/local
,这给出了我问题的最新结果。如果您不想使用brew,因为它不支持从最新的NTFS-3G源生成,它现在接受
brew安装NTFS-3G--HEAD
,无论如何,你可以看看homebrew是如何做到的,然后在你的系统上复制这些步骤。我刚刚向homebrew/fuse发送了一个PR,以获得一个--HEAD开关来安装ntfs-3g edge,这样他们就不会竞争了。我刚刚给homebrew/fuse发送了一份PR,以便得到一个--HEAD开关来安装ntfs-3g edge,这样他们就不会竞争了。接受后将发布答案。