Mavericksにtgifをインストール

MacをMavericksにアップデートして、MacPortsも入れなおして、さてportでtgifも入れ直すかーと思ったがなぜか入らない。じゃあソースからと思ったがやっぱり入らない。結局しょうもない原因でした。

参考サイト: ld: library not found for–lXext installing RMagick on Mavericks

MacPortsでtgifが入らない

まず前提として、OSXを10.8(Mountain Lion)から10.9(Mavericks)へアップデートしたので、MacPortsも以前のものをアンインストールして10.9用のものをインストールし直しました。それに伴って各portも入れ直していたのですが、なぜかtgifが入らない。

$ sudo port install tgif
--->  Computing dependencies for tgif
--->  Fetching archive for tgif
--->  Attempting to fetch tgif-4.1.42_2.darwin_13.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/tgif
--->  Attempting to fetch tgif-4.1.42_2.darwin_13.x86_64.tbz2 from http://packages.macports.org/tgif
--->  Attempting to fetch tgif-4.1.42_2.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/tgif
--->  Fetching distfiles for tgif
--->  Verifying checksums for tgif
--->  Extracting tgif
--->  Applying patches to tgif
--->  Configuring tgif
Error: org.macports.configure for port tgif returned: xmkmf failure: command execution failed
Please see the log file for port tgif for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_tgif/tgif/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port tgif failed

ソースからtgifが入らない

なんでやねん…。じゃあ面倒だけどソースから入れるかー、ってことで公式からソースをダウンロード。configure, makeとしていきます。が、ここでもエラー。

$ ./configure
$ make
error!! X11.rulesが無いよ!! (注: 原文とは異なります)

なんでやねん…。じゃあコンパイラ変えようってことで、以前にMacPortsから入れたgccを使用しました。が、ここでもエラー。

$ CC=/opt/local/bin/gcc-mp-4.8 ./configure
$ CC=/opt/local/bin/gcc-mp-4.8 make
   (略)
ld: library not found for -lXext
   (略)

ソースからtgifが入った

ことごとく障壁が立ちはだかる。これだからMacはやめられない。 ということでいろいろ原因を探ると、上記参考サイトを発見。XQuartzを入れろとのこと。昔入れた気がするけどなーと思ったけど、そうだ、OS変わったんだ。 ということでサイトにある通りXQuartz入れ直し、もう一度configure, makeしてみました。

$ ./configure
$ make
$ make install

入った!

おわり

相変わらずMacPortsからは入らないけど、コンパイラは標準のものでも入るようになりました。いやー、OSをアップデートするって大変なことなんだな、って改めて実感。