2010年07月17日

libiconvのコンパイル&インストール

GCCを自前でビルドしたい方向けの情報です。
興味のない方は読み飛ばしてください。

libiconvは、以下の場所にあります。
最新版は、こちらでチェックしてください。
http://www.gnu.org/software/libiconv/

ソースコード
http://ftp.gnu.org/pub/gnu/libiconv/
libiconv-1.16.tar.gz
を、適当なディレクトリに保存します。

次に、以下のページからパッチを入手します。
http://www2d.biglobe.ne.jp/~msyk/software/libiconv-1.13-ja-patch.html

ダウンロードより、
libiconv-1.13-ja-1.patch.gz
を、適当なディレクトリに保存します。


2021/07/11 追記
libiconv-1.13-ja-1.patch.gz をlibiconv-1.16に適用できるように修正しました。
libiconv-1.16-ja-1.patch.gz

MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libiconv-1.16.tar.gz
$ cd libiconv-1.16
$ gzip -dc ../libiconv-1.16-ja-1.patch.gz | patch -p1
$ ./configure --prefix=/mingw --disable-shared --enable-static
$ make
$ make install

以上で終了です。


【補足】
2021/07/11 追記
libiconv-1.16用のパッチを作成しました。
パッチの説明は、以下の記事を参考にしてください。
libiconv-1.14にlibiconv-1.13用のパッチを適用してみました


【更新履歴】を見る
posted by あべちん at 13:39 | Comment(9) | TrackBack(0) | GCC追加ライブラリ
この記事へのコメント
あべちんさん
こんばんわ

GCC4.7ついでに

1.14のパッチどっかにないかなーとおもってたら
見つけました
http://apolloron.org/software/libiconv-1.14-ja/

自分のほうでも試してみます
Posted by 蓄電 at 2012年03月26日 23:54
蓄電さん、こんばんは。管理人です。

情報ありがとうございます。

なかなかパッチが更新されないので、パッチなしで1.14にしようかどうしようかと思ってましたが、パッチを作っている方がいたんですね。

時間のあるときに試してみます。
Posted by あべちん at 2012年03月27日 00:16
今こちらのサイトを見ながらコンパイルしてたのですが、脱字を発見したのでご報告します

libiconv-1.14.tar.gzの解凍の部分である

tar xzf libiconv-1.14.tar.gzの筈が

tar xzf libiconv-1.4.tar.gzになっておりました

いつもお世話になってます

今後もよろしくお願いします
Posted by キュアミューズ=裕己 at 2012年12月23日 04:58
キュアミューズ=裕己さん、こんにちは。管理人です。

あら、気が付きませんでした。
ご指摘ありがとうございます。
修正しました。m(_ _)m

こちらこそ、よろしくお願いします。
Posted by あべちん at 2012年12月23日 14:48
お陰様でfdk-aacが使えるFFmpegをビルドする事ができました。
丁寧なビルド情報を公開して頂きましてありがとうございます。

libiconv-1.14のビルド中にエラーが発生しましたので
その内容と、対処についてご報告させて頂きます。
(libiconvではなく私がインストールのMinGWに問題があったようです)

make install時に以下のメッセージと共にエラーが発生しました。

libtool: link: cannot find the library `/home/keith/staged/mingw32/lib/libiconv.la' or unhandled argument `/home/keith/staged/mingw32/lib/libiconv.la'
make[1]: *** [install] Error 1

そこで"/home/keith/staged"で検索し、
以下のように修正したところビルドエラーはなくなり、
目的であったlibassも問題なく動作しております。

/mingw/lib/libgettextlib.la (line19)

# Libraries that this one depends upon.
dependency_libs=' -L/mingw/lib /mingw/lib/libintl.la /home/keith/staged/mingw32/lib/libiconv.la /home/keith/mingw32/mingw32/lib/libstdc++.la'

dependency_libs=' -L/mingw/lib /mingw/lib/libintl.la /mingw/lib/libiconv.la'

------------------

/mingw/lib/libgettextpo.la (line19)

# Libraries that this one depends upon.
dependency_libs=' -L/mingw/lib /mingw/lib/libintl.la /home/keith/staged/mingw32/lib/libiconv.la'

dependency_libs=' -L/mingw/lib /mingw/lib/libintl.la /mingw/lib/libiconv.la'

------------------

/mingw/lib/libgettextsrc.la (line19)

# Libraries that this one depends upon.
dependency_libs=' /mingw/lib/libgettextlib.la -L/mingw/lib /mingw/lib/libintl.la /home/keith/staged/mingw32/lib/libiconv.la /home/keith/mingw32/mingw32/lib/libstdc++.la'

dependency_libs=' /mingw/lib/libgettextlib.la -L/mingw/lib /mingw/lib/libintl.la /mingw/lib/libiconv.la'

------------------

/mingw/lib/libintl.la (line19)

# Libraries that this one depends upon.
dependency_libs=' -L/mingw/lib /home/keith/staged/mingw32/lib/libiconv.la'

dependency_libs=' -L/mingw/lib /mingw/lib/libiconv.la'
Posted by keith_error at 2014年09月28日 20:52
keith_errorさん、こんにちは。管理人です。
ご訪問ありがとうございます。
お返事が遅くなり、申し訳ありません。

私のMinGW環境ではgettextをインストールしていないので、原因が分からなかったのですが、libiconvのInstallationの説明で、
https://www.gnu.org/software/libiconv/

libiconvとgettextは循環依存(a circular dependency)しているので、最初にlibiconv、次にgettext、次にまたlibiconvをinstallしてください。

というようなことが書かれています。

以前にgettextをinstallしたことがあれば、一度gettextをuninstallしてから、上記の順番でinstallしなおせば上手くいくかもしれません。

もう解決して間に合っているかもしれませんが、時間がある時にでもお試しください。
Posted by あべちん at 2014年10月04日 00:31
2017/02/02 に 1.15 がリリースされました。
https://savannah.gnu.org/forum/forum.php?forum_id=8790
を読む限り、日本語パッチの一部が組み込まれたんでしょかね。
これから確認してみます・・・
Posted by 通りすがり at 2017年03月05日 09:35
あ、2017/02/03 リリースでした・・・
一応訂正しときます。
Posted by 通りすがり at 2017年03月05日 09:42
通りすがりさん、こんにちは。管理人です。

コメントありがとうございます。
お返事が遅くなり、申し訳ありません。

libiconv-1.13用のパッチは1.15に適用できなくなってしまったのですが、cp932パッチだけなら、1.15でも適用できました。
http://www2d.biglobe.ne.jp/~msyk/software/libiconv-1.13-cp932-patch.html

ざっと見たところでは、1.15からISO-2022-JP-MSが追加されたのと、intがsize_tに変更されています。

1.14と1.15の差分を取って、1.15用のパッチを作ろうかと思ったのですが、面倒なので止めました。

しばらくは1.14を使う予定です。
Posted by あべちん at 2017年04月29日 19:23
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/39676791
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック