RealPath:
WebPath:
2017/02/12 02:24 (JST) 更新
MinGW64 on MSYS >>

gettext

Contents

パッケージ入手

依存

  • libiconv

ビルド・インストール

MSYS Bash
$ tar xzvf gettext-0.19.tar.gz
$ cd gettext-0.19
$ ./configure --prefix=/usr/local --enable-shared=false --enable-static=true
$ make
$ make install

インストール確認

MSYS Bash
$ ls -ltr /usr/local/lib
....
-rw-r--r-- 1 kobake Administrators     877 Feb  6 09:40 libasprintf.la
-rw-r--r-- 1 kobake Administrators  146858 Feb  6 09:40 libasprintf.a
-rw-r--r-- 1 kobake Administrators     926 Feb  6 09:40 libintl.la
-rw-r--r-- 1 kobake Administrators  471400 Feb  6 09:40 libintl.a
-rw-r--r-- 1 kobake Administrators     970 Feb  6 09:40 libgettextlib.la
-rw-r--r-- 1 kobake Administrators    1002 Feb  6 09:40 libgettextsrc.la
drwxr-xr-x 2 kobake Administrators       0 Feb  6 09:40 gettext
-rw-r--r-- 1 kobake Administrators     217 Feb  6 09:40 charset.alias
-rw-r--r-- 1 kobake Administrators     967 Feb  6 09:40 libgettextpo.la
-rw-r--r-- 1 kobake Administrators 1862564 Feb  6 09:40 libgettextpo.a

$ ls -ltr /usr/local/lib/gettext
total 1658
-rwxr-xr-x 1 kobake Administrators  14488 Feb  6 09:40 user-email
-rwxr-xr-x 1 kobake Administrators 863552 Feb  6 09:40 urlget.exe
-rwxr-xr-x 1 kobake Administrators   2733 Feb  6 09:40 project-id
-rwxr-xr-x 1 kobake Administrators 814967 Feb  6 09:40 hostname.exe

$ ls -ltr /usr/local/include
....
-rw-r--r-- 1 kobake Administrators   2384 Feb  6 09:40 autosprintf.h
-rw-r--r-- 1 kobake Administrators  16654 Feb  6 09:40 libintl.h
-rw-r--r-- 1 kobake Administrators  15523 Feb  6 09:41 gettext-po.h

エラー対策「undefined reference to `__imp_pthread_rwlock_unlock'」

make 時に以下のようなエラーが出ることがある。

gettext-0.19\gettext-runtime\intl/./bindtextdom.c:313: undefined reference to `__imp_pthread_rwlock_unlock'

逃げの対症療法ではあるが configure 引数に --enable-shared=false --enable-static=true オプションを指定することで上記エラーを回避できる。

エラー対策「duplicate case value」

gettext-0.17 等では make 中に以下エラーが出ることがある。

./localename.c: In function '_nl_locale_name_default':
./localename.c:1390:4: error: duplicate case value
    case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";
    ^
./localename.c:1389:4: error: previously used here
    case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
    ^

 
これはバグ。2008年4月に以下で報告および修正が行われている。
BUG: gettext: gettext-runtime compile error

Subject: BUG: gettext: gettext-runtime compile error
Date: Tue, 15 Apr 2008 20:40:43 +0200
When compiling gettext on a Windows XP platform with MS VC++ 2008 the following error message was reported:
localename.c(1390) : error C2196: case value '2' already used

対策としては古いバージョンを使わずに新しいバージョンを使う (0.19 等)。

バージョン参考

gettext-0.17 ChangeLog

2007-11-07  Bruno Haible  <bruno@clisp.org>

    * gettext-0.17 released.

gettext-0.19 ChangeLog

2014-06-02  Daiki Ueno  <ueno@gnu.org>

    * gettext 0.19 released.