macoril's diary

へたれプログラマーのリハビリな日々

MacでNTFSを使う

はじめに

自分用のメモです。 結論から言えば、うまく出来なくて結局exFATでフォーマットしたしorz

exFATとは

  • FAT32でデータを扱う上で制限があり、この問題を解消するために開発された形式
  • 容量制限なく保存可能(最大4GB以上でも保存でける)
  • WindowでもMacでも読み込み・書き込める
  • FAT32と互換性がない

*1

ここから先は色々インストールしてみたけどNTFSを使えなかった記録(´・ω・`)

ちなみにOSはLion(10.7.5 (11G63))。

FUSE for OSXのインストール

  • Home - FUSE for OS X からStableをダウンロード
  • インストール途中で必ず「MacFUSE compatibility layer 」項目をチェック チェックしておくと、システム環境設定にショートカットが作成されて後で楽

NTFS用のドライバ(NTFS-3G)のインストール

今はインストーラはなくなってソースコードだけ?

早速./configureしてみるもエラー

./configure
...(中略)...
checking fuse compatibility... external
checking for pkg-config... no
configure: error: pkg-config wasn't found! Please install from your vendor, or see http://pkg-config.freedesktop.org/wiki/

pkg-configのインストール

またしても./configureでエラー

./configure
...(中略)...
checking for GLIB... no
configure: error: Either a previously installed pkg-config or "glib-2.0 >= 2.16" could not be found. Please set GLIB_CFLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to configure to use the bundled copy.

エラー内容で調べたところ、osx - Unable to make pkg-config - Stack Overflow が近そう。

アドバイスを参考に --with-internal-glib オプションを付けてやりなおしたら一応通った?その後make

./configure --with-internal-glib
make
Undefined symbols for architecture x86_64:
  "_FSFindFolder", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_kCFAllocatorSystemDefault", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFURLCreateFromFSRef", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFURLCopyFileSystemPath", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetCStringPtr", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetLength", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetCString", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFRelease", referenced from:
      _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [pkg-config] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

再度NTFS用のドライバのインストール

./configure
****************************************************************************
* WARNING  WARNING  WARNING  WARNING  WARNING  WARNING  WARNING  WARNING   *
* The FUSE user space binaries were NOT installed with root directory      *
* executable prefix. This means that automounting NTFS volumes during boot *
* could fail. This can be fixed the below way by reinstalling FUSE using   *
* the right 'configure' option during FUSE compilation:                    *
*   ./configure --exec-prefix=/                                        *
*   make && sudo make install                                          *
* WARNING  WARNING  WARNING  WARNING  WARNING  WARNING  WARNING  WARNING   *
****************************************************************************
./configure --exec-prefix=/
make
sudo make install

結局マウントできず...

sudo make uninstall 済み 要インストール状況確認

configureとかmakeの意味

http://www.itmedia.co.jp/help/tips/linux/l0302.html

*1:http://tweeeety.hateblo.jp/entry/2014/11/30/161825

*2:"The current release of pkg-config is version 0.29"のあたりから