>> 古い記事: [雑記] 2008-01
<< 新しい記事: [雑記] 2008-02

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[雑ログ] gimp-gap-2.4.0 ビルドメモ

MinGW/MSYS で GAP(Gimp Animation Package, gimp-gap-2.4.0) をビルドしてみました。

このメモに関しては著作権とか主張しませんので、 足りない部分を補ったり転載などは自由にどうぞ。

できたバイナリを mediafire に置いておきました。動作確認ほとんどしてません。人柱用です。
gimp-gap-2.4.0-mingw.zip@mediafire (4.69MB)


基本的にはここを参考に。JamesHさんに感謝!
G. A. P-2.2.2 , Now Compiled For Windows

- 依存関係で必要なものはここから辿って入手(以下「GTK+WINのページ」と呼びます)
  Tor Lillqvist--GTK+ (not GIMP) for Windows--Downloads
- perl は cygwin に入ってて MinGW でパスが通ってれば OK。
  (ActivePerl使わなくても可)

環境変数の設定
$ export PKG_CONFIG_PATH=d:/MinGW/lib/pkgconfig
または
$ export GIMP_CFLAGS=`gimptool --cflags`
$ export GIMP_LIBS=`gimptool --libs`

きちんと設定されたか確認したければ
$ echo $PKG_CONFIG_PATH

******.exe - コンポーネントが見つかりません
******.dll が見つからなかったため、このアプリケーションを開始できませんでした。 アプリケーションをインストールし直すとこの問題は解決される場合があります。
みたいなエラーダイアログが出たら、GTK+WIN のページからダウンロードしてきて
MinGW の bin, include, lib にコピー。
大抵は解凍した中にあるのをそのままコピーすれば OK。

make 時にこういうエラーが出る。

gap_stock.c: In function `gap_stock_init':
gap_stock.c:104: error: `gap_add_point' undeclared (first use in this function)
gap_stock.c:104: error: (Each undeclared identifier is reported only once
gap_stock.c:104: error: for each function it appears in.)
gap_stock.c:105: error: `gap_anim_preview' undeclared (first use in this function)
gap_stock.c:106: error: `gap_delete_all_points' undeclared (first use in this function)
gap_stock.c:107: error: `gap_delete_point' undeclared (first use in this function)
gap_stock.c:108: error: `gap_first_point' undeclared (first use in this function)
gap_stock.c:109: error: `gap_grab_points' undeclared (first use in this function)
gap_stock.c:110: error: `gap_insert_point' undeclared (first use in this function)
gap_stock.c:111: error: `gap_last_point' undeclared (first use in this function)
gap_stock.c:112: error: `gap_next_point' undeclared (first use in this function)
gap_stock.c:113: error: `gap_pause' undeclared (first use in this function)
gap_stock.c:114: error: `gap_play' undeclared (first use in this function)
gap_stock.c:115: error: `gap_play_reverse' undeclared (first use in this function)
gap_stock.c:116: error: `gap_prev_point' undeclared (first use in this function)
gap_stock.c:117: error: `gap_reset_all_points' undeclared (first use in this function)
gap_stock.c:118: error: `gap_reset_point' undeclared (first use in this function)
gap_stock.c:119: error: `gap_rotate_follow' undeclared (first use in this function)
gap_stock.c:120: error: `gap_source_image' undeclared (first use in this function)
gap_stock.c:121: error: `gap_stepmode' undeclared (first use in this function)
gap_stock.c:122: error: `gap_update' undeclared (first use in this function)
make[2]: *** [gap_stock.o] Error 1
make[2]: Leaving directory `/e/gimp-gap-2.4.0/gap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/e/gimp-gap-2.4.0'
make: *** [all] Error 2

gap_add_point とかを宣言するヘッダファイルは gdk-pixbuf-csource によって生成されるようなのですが、ここがうまく動かないと次に進めません。

gdk-pixbuf-csource.exe が正しく動かないとはまります。はまりました。 まずは gdk-pixbuf-csource.exe を単体で実行して確認しましょう。 zlib1.dll jpeg62.dll libtiff3.dll などがない場合は GTK+のページ から入手して MinGW/bin に入れます。
次のように出力されればたぶん大丈夫です。

$ gdk-pixbuf-csource.exe 
Usage: gdk-pixbuf-csource [options] [image]
       gdk-pixbuf-csource [options] --build-list [[name image]...]
  --stream                   generate pixbuf data stream
  --struct                   generate GdkPixdata structure
  --macros                   generate image size/pixel macros
  --rle                      use one byte run-length-encoding
  --raw                      provide raw image data copy
  --extern                   generate extern symbols
  --static                   generate static symbols
  --decoder                  provide rle decoder
  --name=identifier          C macro/variable name
  --build-list               parse (name, image) pairs
  -h, --help                 show this help message
  -v, --version              print version informations
  --g-fatal-warnings         make warnings fatal (abort)

それでも gap_stock.c で同じエラーが出たので、gimp-gap-2.4.0/images/gap-stock-pixbufs.h を見てみます。 中が空だったら、同じフォルダの Makefile を参考に gap-stock-pixbufs.h を 手動生成します。
参考: SuSe 9.1 + Gimp 2 + GAP: configure error | [GUG] Forum

$ cd images
$ gdk-pixbuf-csource.exe --raw --build-list `cat stock-icons.list` > gap-stock-pixbufs.h

E:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lz

zlib がないよ、と言われてます。 GTK+WINのページで配布されてないので、
zlib Home Site
ここから取ってきて作ります。

./configure --shared して make すると libz.a というファイルができるので、MinGW/lib にコピー。

おまけ

作業時のメモです。 整合性が取れてなかったり意味不明な部分があるかもしれませんが せっかくなので置いておきます。


$ ./configure
(略)
checking for bind_textdomain_codeset... no
checking for pkg-config... no
checking for GIMP... configure: error: The pkg-config script could not be found
or is too old.  Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables GIMP_CFLAGS
and GIMP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see .
See `config.log' for more details.

setup.exe から pkg-config 0.21-1 をインストール。

$ ./configure (略) checking for GIMP... configure: error: Package requirements (gimp-2.0 >= 2.4.0 gimpui-2.0 >= 2.4.0 gimpthumb-2.0 >= 2.4.0) were not met: No package 'gimp-2.0' found No package 'gimpui-2.0' found No package 'gimpthumb-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GIMP_CFLAGS and GIMP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
G. A. P-2.2.2 , Now Compiled For Windows SourceForge.net: Files MinGW-5.1.3.exe を取ってきて minimum でインストール。 SourceForge.net: Files MSYS-1.0.11-20071204.tar.bz2 を取ってきて解凍。 bin/mount.exe bin/msys-1.0.dll bin/ps.exe 3つを MinGW/bin/ に移動。 msysCORE-1.0.11-2007.01.19-1.tar.bz2 もダウンロード。 msys.bat、bin/、etc/ とかいろいろ入ってるので同じように MinGW のフォルダに移動。 http://www.zlib.net/zlib123-dll.zip How do I use MinGW with MSYS? | MinGW - Frequently Asked Questions http://pkgconfig.freedesktop.org/releases/ http://pkgconfig.freedesktop.org/releases/pkgconfig-0.18.tar.gz checking for pkg-config... /bin/pkg-config checking pkg-config is at least version 0.9.0... no checking for GIMP... configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GIMP_CFLAGS and GIMP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See `config.log' for more details.
pkg-config.exe - コンポーネントが見つかりません
libglib-2.0-0.dll が見つからなかったため、このアプリケーションを開始できませんでした。 アプリケーションをインストールし直すとこの問題は解決される場合があります。
というダイアログが出る。 http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.14/glib-2.14.5.zip の中に入っているので、上と同じように MinGW のフォルダにコピー。 今度は intl.dll がないと言われるので http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip から同様にコピー。 http://www.gimp.org/~tml/gimp/win32/gimp-dev-2.4.zip も同様にコピー。gimptool-2.0.exe が入ってる。 $ gimptool-2.0.exe --cflags Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found -I・4/include/gimp-2.0 x#4 $ gimptool-2.0.exe --libs Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found -L・4/lib -lgimpui-2.0 -lgimpwidgets-2.0 -lgimp-2.0 -lgimpcolor-2.0 -lgimpmath-2.0 -lgimpbase-2.0 x#4 $ export GIMP_CFLAGS=`gimptool-2.0 --cflags` $ export GIMP_LIBS=`gimptool-2.0 --libs` checking for xgettext... no checking for msgmerge... no checking for msgfmt... no configure: error: GNU gettext tools not found; required for intltool http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip からコピー。
checking for perl... no configure: error: perl not found; required for intltool これは cygwin の方でインストール。
gdk-pixbuf-csource.exe - コンポーネントが見つかりません
libgdk_pixbuf-2.0-0.dll が見つからなかったため、このアプリケーションを開始できませんでした。 アプリケーションをインストールし直すとこの問題は解決される場合があります。
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.12/gtk+-dev-2.12.5.zip
gap_stock.c: In function `gap_stock_init': gap_stock.c:104: error: `gap_add_point' undeclared (first use in this function) gap_stock.c:104: error: (Each undeclared identifier is reported only once gap_stock.c:104: error: for each function it appears in.) gap_stock.c:105: error: `gap_anim_preview' undeclared (first use in this function) gap_stock.c:106: error: `gap_delete_all_points' undeclared (first use in this function) gap_stock.c:107: error: `gap_delete_point' undeclared (first use in this function) gap_stock.c:108: error: `gap_first_point' undeclared (first use in this function) gap_stock.c:109: error: `gap_grab_points' undeclared (first use in this function) gap_stock.c:110: error: `gap_insert_point' undeclared (first use in this function) gap_stock.c:111: error: `gap_last_point' undeclared (first use in this function) gap_stock.c:112: error: `gap_next_point' undeclared (first use in this function) gap_stock.c:113: error: `gap_pause' undeclared (first use in this function) gap_stock.c:114: error: `gap_play' undeclared (first use in this function) gap_stock.c:115: error: `gap_play_reverse' undeclared (first use in this function) gap_stock.c:116: error: `gap_prev_point' undeclared (first use in this function) gap_stock.c:117: error: `gap_reset_all_points' undeclared (first use in this function) gap_stock.c:118: error: `gap_reset_point' undeclared (first use in this function) gap_stock.c:119: error: `gap_rotate_follow' undeclared (first use in this function) gap_stock.c:120: error: `gap_source_image' undeclared (first use in this function) gap_stock.c:121: error: `gap_stepmode' undeclared (first use in this function) gap_stock.c:122: error: `gap_update' undeclared (first use in this function) make[2]: *** [gap_stock.o] Error 1 make[2]: Leaving directory `/e/gimp-gap-2.4.0/gap' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/e/gimp-gap-2.4.0' make: *** [all] Error 2
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.12/gtk+-2.12.5.zip からコピー。 参考: SuSe 9.1 + Gimp 2 + GAP: configure error | [GUG] Forum $ gdk-pixbuf-csource.exe jpeg62.dll がない。 http://sourceforge.net/project/downloading.php?groupname=gnuwin32&filename=jpeg-6b-4-bin.zip&use_mirror=nchc $ gdk-pixbuf-csource.exe zlib1.dll がない。 http://www.zlib.net/zlib123-dll.zip $ gdk-pixbuf-csource.exe libtiff3.dll がない。 http://sourceforge.net/project/downloading.php?groupname=gnuwin32&filename=tiff-3.8.2-1-bin.zip
gdk-pixbuf-csource.exe が正しく動かないとはまります。はまりました。 まずは gdk-pixbuf-csource.exe を単体で実行して確認しましょう。 zlib1.dll jpeg62.dll libtiff3.dll などがない場合は入手して MinGW/bin に入れます。 次のように出力されればたぶん大丈夫です。 $ gdk-pixbuf-csource.exe Usage: gdk-pixbuf-csource [options] [image] gdk-pixbuf-csource [options] --build-list [[name image]...] --stream generate pixbuf data stream --struct generate GdkPixdata structure --macros generate image size/pixel macros --rle use one byte run-length-encoding --raw provide raw image data copy --extern generate extern symbols --static generate static symbols --decoder provide rle decoder --name=identifier C macro/variable name --build-list parse (name, image) pairs -h, --help show this help message -v, --version print version informations --g-fatal-warnings make warnings fatal (abort)
しかし、やっぱり `gap_add_point' undeclared のエラーが出る。 [GUG] Forum に images/gap-stock-pixbufs.h が云々と書いてあるので、それを手がかりに gap-stock-pixbufs.h を見てみると、中身が空。 そこで、同じフォルダの Makefile を見て手動生成。 $ gdk-pixbuf-csource.exe --raw --build-list `cat stock-icons.list` > gap-stock-pixbufs.h E:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -liconv collect2: ld returned 1 exit status make[2]: *** [gap_bluebox.exe] Error 1 make[2]: Leaving directory `/e/gimp-gap-2.4.0/gap' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/e/gimp-gap-2.4.0' make: *** [all] Error 2 http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/win_iconv-tml-20080128.zip E:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpng collect2: ld returned 1 exit status make[2]: *** [gap_player.exe] Error 1 make[2]: Leaving directory `/e/gimp-gap-2.4.0/gap' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/e/gimp-gap-2.4.0' make: *** [all] Error 2 http://sourceforge.net/project/downloading.php?groupname=gnuwin32&filename=libpng-1.2.8-lib.zip
E:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lz zlib Home Site mmap がないと言われるので、configure オプションに --shared を追加。 make すると libz.a というファイルができるので、MinGW/lib にコピー。 gap_gve_jpeg.c:55:21: jpeglib.h: No such file or directory gap_gve_jpeg.c:56:20: jerror.h: No such file or directory http://sourceforge.net/project/downloading.php?groupname=gnuwin32&filename=jpeg-6b-4-lib.zip

参考(外部リンク)

>> 古い記事: [雑記] 2008-01
<< 新しい記事: [雑記] 2008-02
** ホームに戻る

コメント

コメントの投稿

管理者にだけ表示を許可する

|
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。