このページの情報は古くなっています。ここにある情報でなければならない特別な理由がなければこちらをご覧ください。MinGW Cross Compile on Ubuntu
Gentoo coLinux で MinGW クロスコンパイル >> GIMPクロスコンパイルへの茨の道 >> MinGW 環境の整備 >> コンパイル済みライブラリのインストール
各種ライブラリのインストールと pkg-config ファイルの書き換え、改行コードの変更とパーミッションの設定を行います。
${XGMPDEV} はライブラリ/ランタイムの置き場所です。例えば ${XMINGW}/local/src/gimpdev 。
tml 氏のサイトもしくは ring の X/gnome/binaries/win32/ ディレクトリあるいは GnuWin32 からライブラリ/ランタイムを取得します。ファイル名は次のようになります。 -dev のないものもあります。
それぞれ入手先からファイルをダウンロードしてください。バージョンは最新のものでかまわないと思いますが、コンパイルが通らないなど問題があった場合は古いバージョンを使用してください。
- dirent.zip (***)
カレントを ${XLOCAL} に移し、次のコマンドを実行します。何も考えず解凍して大丈夫だったと思います。再確認してません。
${XLOCAL}/lib/pkgconfig 下の pc ファイルをバックアップし、 MinGW 環境用に書き換えます。
作業のためカレントを移動します。
サフィックスをつけてバックアップします。サフィックスは winorig です。配布物にサフィックスが orig のファイルが含まれているためこうしました。
winorig.sh
実行します。
ls で見てサフィックスが変更されていれば成功です。
次に pc ファイルを変更します。 prefix の値を現在の環境に合わせます。 /opt/xmingw32/local の部分は ${XMINGW} で読み換えてください。
reppc.sh
diff -u で比較し、 prefix の値が置き換わっていれば成功です。
次に pangoft2.pc の requires 行を確認します。 freetype2 がなければ追記します。
pkg-config の list-all オプションで確認してみましょう。
freetype-config の改行コードを置き換えます。 CRLF だとシェルが CR を解釈しようとしてエラーにするので変更します。
${XLOCAL}/bin にカレントを移し、次のコマンドを実行します。
パーミッションを設定します。
実行してみます。
ヘルプが表示されれば成功です。
新バージョンに置き換える場合などにインストール済みライブラリを削除します。
rm コマンドにアーカイブのファイル一覧を渡して削除します。ファイル一覧は zipinfo コマンドで取得します。
Gentoo coLinux で MinGW クロスコンパイル >> GIMPクロスコンパイルへの茨の道 >> MinGW 環境の整備 >> コンパイル済みライブラリのインストール
各種ライブラリのインストールと pkg-config ファイルの書き換え、改行コードの変更とパーミッションの設定を行います。
${XGMPDEV} はライブラリ/ランタイムの置き場所です。例えば ${XMINGW}/local/src/gimpdev 。
tml 氏のサイトもしくは ring の X/gnome/binaries/win32/ ディレクトリあるいは GnuWin32 からライブラリ/ランタイムを取得します。ファイル名は次のようになります。 -dev のないものもあります。
# ランタイム glib-2.12.7.zip # ライブラリ glib-dev-2.12.7.zip
それぞれ入手先からファイルをダウンロードしてください。バージョンは最新のものでかまわないと思いますが、コンパイルが通らないなど問題があった場合は古いバージョンを使用してください。
Tor Lillqvist--GTK+ (not GIMP) for Windows--Downloads
http://www.gimp.org/~tml/gimp/win32/downloads.html...
Ring Server Project
http://www.ring.gr.jp/~~
GnuWin32
http://gnuwin32.sourceforge.net/
- atk-1.10.3.zip
- atk-dev-1.10.3.zip
- cairo-1.0.2.zip
- cairo-dev-1.0.2.zip
- fontconfig-2.2.2-20040412.zip
- fontconfig-dev-2.2.2-20040412.zip
- freetype-2.1.10-bin.zip
- freetype-2.1.10-lib.zip
- gettext-0.14.5.zip
- gettext-dev-0.14.5.zip
- glib-2.8.6.zip
- glib-dev-2.8.6.zip
- gtk+-2.8.11.zip
- gtk+-dev-2.8.11.zip
- jpeg-6b-4-bin.zip
- jpeg-6b-4-lib.zip
- lcms-dev-1.11.zip
- lcms-runtime-1.11.zip
- libart_lgpl-2.3.14.zip
- libart_lgpl-dev-2.3.14.zip
- libexif-0.6.11.zip
- libexif-dev-0.6.11.zip
- libgsf-1.8.2-20040121.zip(**)
- libgsf-dev-1.8.2.zip(**)
- libiconv-1.9.1.bin.woe32.zip
- libpng-1.2.8-bin.zip
- libpng-1.2.8-lib.zip
- librsvg-2.4.0.zip (*)
- librsvg-dev-2.4.0.zip (*)
- libtiff-3.7.3-lib.zip
- libtiff-3.7.3-bin.zip
- libwmf-dev-0.2.8.1-tml-20031201.zip(**)
- libwmf-runtime-0.2.8.1-tml-20031201.zip(**)
- libxml2-2.6.23.win32.zip (*)
- pango-1.10.2.zip
- pango-dev-1.10.2.zip
- xpm-nox-4.0.3-20020617.zip
- xpm-nox-dev-4.0.3-20020112.zip
- zlib123-dll.zip
- (*) GIMP 2.3.7 のコンパイルには新しいバージョンが必要。
- (**) ランタイムエラーが表示されるならコンパイルし直す。
- (***) 新たに mingw-runtime に添付されるようになりました。
古い版は dirent 構造体の内容が異なるあるためインクルード検索パスにある場合は削除してください。
カレントを ${XLOCAL} に移し、次のコマンドを実行します。何も考えず解凍して大丈夫だったと思います。再確認してません。
for f in ${XGMPDEV}/*.zip; do unzip $f;done
${XLOCAL}/lib/pkgconfig 下の pc ファイルをバックアップし、 MinGW 環境用に書き換えます。
作業のためカレントを移動します。
cd ${XLOCAL}/lib/pkgconfig
サフィックスをつけてバックアップします。サフィックスは winorig です。配布物にサフィックスが orig のファイルが含まれているためこうしました。
winorig.sh
#!/bin/sh suffix=".winorig" for f in *.pc; do bk="${f}${suffix}" # test FILE exists and is a regular file if ( ! test -f ${bk} ); then echo ${f} mv ${f} ${bk} fi done
実行します。
sh winorig.sh
ls で見てサフィックスが変更されていれば成功です。
次に pc ファイルを変更します。 prefix の値を現在の環境に合わせます。 /opt/xmingw32/local の部分は ${XMINGW} で読み換えてください。
reppc.sh
#!/bin/sh TARGET=/opt/xmingw32/local for f in *.winorig; do if grep 'prefix=.*' $f >/dev/null 2>&1; then pc=`echo ${f}|sed s+.winorig++` cat $f | sed s+^prefix=.*+prefix=$TARGET+ > $pc fi done
diff -u で比較し、 prefix の値が置き換わっていれば成功です。
次に pangoft2.pc の requires 行を確認します。 freetype2 がなければ追記します。
Requires: pango freetype2
pkg-config の list-all オプションで確認してみましょう。
${XMINGW}cross pkg-config --list-all
freetype-config の改行コードを置き換えます。 CRLF だとシェルが CR を解釈しようとしてエラーにするので変更します。
${XLOCAL}/bin にカレントを移し、次のコマンドを実行します。
mv freetype-config freetype-config.winorig
perl -n -e 's/[\r\n]+$/\n/;print' freetype-config.orig > freetype-config
パーミッションを設定します。
chmod 755 freetype-config
実行してみます。
./freetype-config --help
ヘルプが表示されれば成功です。
新バージョンに置き換える場合などにインストール済みライブラリを削除します。
rm コマンドにアーカイブのファイル一覧を渡して削除します。ファイル一覧は zipinfo コマンドで取得します。
zipinfo -1 uninstall.zip
タグ
コメントをかく