あるプログラムをMac OS X(10.6)上のGHC7.0.4(Haskell Platform 2011.04でインストールした)でコンパイルしようとしたら、

Linking main ...
Undefined symbols:
  "_locale_charset", referenced from:
      _localeEncoding in libHSbase-4.3.1.0.a(PrelIOUtils.o)
  "_iconv_close", referenced from:
      _hs_iconv_close in libHSbase-4.3.1.0.a(iconv.o)
     (maybe you meant: _hs_iconv_close)
  "_iconv", referenced from:
      _hs_iconv in libHSbase-4.3.1.0.a(iconv.o)
     (maybe you meant: _hs_iconv_open, _hs_iconv , _hs_iconv_close )
  "_iconv_open", referenced from:
      _hs_iconv_open in libHSbase-4.3.1.0.a(iconv.o)
     (maybe you meant: _hs_iconv_open)
ld: symbol(s) not found
collect2: ld returned 1 exit status


のようなエラーがでてしまった。検索してみたら、そのものずばりが見つかった。Solving GHC iconv problems on OS X 10.6。ここには3つの解決策が提示されているが、自分の場合上の2つは無理そうだ。でもMac Portsによるインストールだと、GHCのバージョンが古いので避けたい。別の方法がないかもう少し調べてみたい。

2012/2/11追記
http://stackoverflow.com/questions/2726248/ghc-6-12-and-macportsの方法でひとまずリンクは通った。とりあえずghc -L/usr/lib -threaded Main.hsでリンクされた。

Comments