2013年4月3日水曜日

Windows7 64bitでgimp2.8.4、gimp2.9~、gimp-painterをビルド(その1)

Windowsでgimp-painter-2.7(mypaint組み込み版)
とりあえず、すでにやってた。さすがpartha先生。
がんばってうちでもビルドしたいなー。
Onkel_Hatti先生も、やってらした。
http://sourceforge.net/projects/gimp-packagers/files/Onkel_Hatti/
のgimp-painter-2.8_Onkel_Hatti_x64.zip

gimp-painter-2.7のgitのコードを
debugで動作させてわかった問題は
gtk周りでcriticalなエラーが出ている点。
widnows7だとこれでクラッシュする様子。
linuxでも出ているが動くw

いくつかは修正できたけど、
まだまだ勉強不足&実装残部分が多いので
どう対応したらいいのかわからないとこが多い。

ということで、、、?
まず、openSUSEと同じようにWindows上に
gimpのベースとなるパッケージ群を入れるところから
違う点は自分でビルドするパッケージがいろいろあるところ。
&ものすごく時間がかかるところ><

では構築手順。
まずはmsys、mingw、各種pkg、gtk+2まで。


(1)python

ここからダウンロードしたpython2.7.3をインストール。

python-2.7.3.amd64.msi 
インストール先は、
C:\Python27
とした。

たぶん下記はおかしい(32bitなので)と
思ってるけど入れてみた。(とりあえず放置・・・)
pycairo-1.8.10.win32-py2.7.msi
pygobject-2.28.3.win32-py2.7.msi
pygtk-2.24.0.win32-py2.7.msi
インストール先は、
C:\Python27
とした。


(2)perl
perlmsysにデフォルトで入っていた5.8.8を使用する。
(msysは手順(3)で入れる。)

※新しいバージョンを追加する場合は、下記を入れて、
ActivePerl-5.16.2.1602-MSWin32-x64-296513.msi
インストール先は、
C:\Perl64
などとする。動作確認はしてない。

C:\MinGW\local64\etc\profile.local (後の手順で出てくるファイル)
のPATHを設定する。(msysより前にすること)


(3)msys・mingwインストール&パッケージ各種

msys+mingwを入れて、
いろいろ64bitでビルドをしていきます。

ダウンロードにものすごい時間がかかるけど、
手順どおり構築して
build64(ソースをおいてここでビルド)、
local64(ビルドした後のインストール先)側だけを使う。
コマンドもコピペでいけました。
バージョンはここで無理してあげない。
明らかに32bit向けっぽい手順の部分は、
やらないでいける。

(32bitビルドをしたい人は、
 手順で出てくるbulid32、local32に
 インストールしていくとできると思われる。)

まずこの手順。
http://ingar.satgnu.net/devenv/mingw32/base.html
vimの手順はスキップした。
zlib.pcの手動作成を忘れずに(後から見直して忘れてることに気づいた・・・)。

zlib.pc

---
prefix=/local64
exec_prefix=${prefix}
libdir=${prefix}/lib
sharedlibdir=${prefix}/bin
includedir=${prefix}/include

Name: zlib
Description: zlib compression library
Version: 1.2.7

Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags: -I${includedir}
---

次にこの手順。OpenALで自分がよくわからなかった点だけ補足。

後から見直すと英語のままだった感じ。
OpenALの手順で出てくる、
cmakeって何?って自分からすると
意味がわかりませんでしたorz

After cmake, run cmake-gui .., disable MMDEVAPI and click the Configure button followed by the Generate button.

cd ~ cmakeコマンド(最後の「..」も必要)まで実行後、

cd $LOCALBUILDDIR && \
wget -c http://kcat.strangesoft.net/openal-releases/openal-soft-1.14.tar.bz2 && \
tar xjf openal-soft-1.14.tar.bz2 && \
cd openal-soft-1.14 && \
cd build && \
cmake -DCMAKE_INSTALL_PREFIX:PATH=$LOCALDESTDIR -G "MSYS Makefiles" ..

cmake-gui.exe
を起動する。

「Where is the source code」に下記を入力。
C:/MinGW/build64/openal-soft-1.14
「Where to build the binaries」に下記を入力。
C:/MinGW/build64/openal-soft-1.14/build


MMDEVAPIのチェックをはずして、Generate。


Configure。


最後に、

make && \
make install

で完了。

次にこの手順でgtkをビルド・インストール。手順どおりでOK。

64bitしからやらない予定なのでprofileを固定で設定する。

C:\MinGW\msys\1.0\etc\profile

下記のようにコメントして、
#if [ -f /local32/etc/profile.local ]; then
# source /local32/etc/profile.local
#fi

下記を追加。
source /local64/etc/profile.local

msys起動時のデフォルトの環境設定は以降、
C:\MinGW\local64\etc\profile.local
に記述していく。

C:\MinGW\msys\1.0\etc\fstabに下記を追記。
perlは別途インストールした場合だけ。

C:/Perl64 /opt/perl
C:/Python27 /usr/python

C:\MinGW\local64\etc\profile.local
に下記を追記。

export PATH="$PATH:/usr/python"
export PYTHONPATH=/usr/python
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/lib/pkgconfig:/usr/python/Lib/pkgconfig

C:\MinGW\msys\1.0\msys.bat
を再起動。

以降、各種tarをgnuなどから落として入れていきます。
tarは全て、

$LOCALBUILDDIR、つまり、C:\MinGW\build64

に配置します。


(4)intltool

cd $LOCALBUILDDIR
tar xzf intltool-0.50.2.tar.gz
cd intltool-0.50.2
./configure --prefix=/opt
make
make install

※手順(2)でperlの新しいバージョンを入れた場合は、
下記4ファイルの先頭を

C:\MinGW\opt\bin\intltool-extract
C:\MinGW\opt\bin\intltool-merge
C:\MinGW\opt\bin\intltool-prepare
C:\MinGW\opt\bin\intltool-update

下記のようにパスが通るようにする
#!/c/Perl64/bin/perl -w


(5)local packagesバージョンアップ

・nasm
cd $LOCALBUILDDIR
tar xzf nasm-2.10.07.tar.gz
cd nasm-2.10.07
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32
make
make install

・libpng
cd $LOCALBUILDDIR
tar xzf libpng-1.5.14.tar.gz
cd libpng-1.5.14
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・libjpeg
cd $LOCALBUILDDIR
tar zxf jpegsrc.v9.tar.gz
cd jpeg-9
./configure --prefix=$LOCALDESTDIR --enable-shared --enable-static --build=x86_64-w64-mingw32
make
make install

・libtiff
cd $LOCALBUILDDIR
tar xzf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32
make
make install

・smpeg
cd $LOCALBUILDDIR
svn co -r 399 svn://svn.icculus.org/smpeg/tags/release_0_4_5 smpeg-399
cd smpeg-399
./autogen.sh
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --enable-mmx --disable-gtk-player --disable-opengl-player --disable-gtktest
make CXXLD='$(CXX) -no-undefined'
make install

・bullet
cd $LOCALBUILDDIR
tar xzf bullet-2.81-rev2613.tgz
cd bullet-2.81-rev2613
./autogen.sh
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --disable-demos
make
make install


(6)gtk+のバージョンアップ
(たまにmsysを再起動しているけどバックアップをとるためにやったので、必須ではないかも。)

・gettext
cd $LOCALBUILDDIR
tar xzf gettext-0.18.2.tar.gz
mv gettext-0.18.2 gettext-0.18.2-runtime
cd gettext-0.18.2-runtime

cat gettext-tools/woe32dll/gettextlib-exports.c | grep -v rpl_opt > gettext-tools/woe32dll/gettextlib-exports.c.new
mv gettext-tools/woe32dll/gettextlib-exports.c.new gettext-tools/woe32dll/gettextlib-exports.c

export CFLAGS="$CFLAGS -O2"
export CXXFLAGS="$CXXFLAGS -O2"

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --enable-threads=win32 --enable-relocatable
cd gettext-runtime
make
make install

cd $LOCALBUILDDIR
tar xzf gettext-0.18.2.tar.gz
mv gettext-0.18.2 gettext-0.18.2-static
cd gettext-0.18.2-static

export CFLAGS="$CFLAGS -O2"
export CXXFLAGS="$CXXFLAGS -O2"

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --enable-threads=win32 --enable-relocatable --disable-shared
make
install gettext-tools/src/msgfmt.exe $LOCALDESTDIR/bin
install gettext-tools/src/msgmerge.exe $LOCALDESTDIR/bin
install gettext-tools/src/xgettext.exe $LOCALDESTDIR/bin

msysを再起動。

・libffi
cd $LOCALBUILDDIR
tar xzf libffi-3.0.12.tar.gz
cd libffi-3.0.12
./configure --prefix=$LOCALDESTDIR --host=x86_64-w64-mingw32
make
make install

・glib : (2.35.8はエラー解決できなかった・・・)
cd $LOCALBUILDDIR
tar xf glib-2.34.3.tar.xz
cd glib-2.34.3
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-pcre=internal --enable-debug=no --disable-gtk-doc
make
make install

・pkg-config
cd $LOCALBUILDDIR
tar xzf pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・freetype
cd $LOCALBUILDDIR
tar zxf freetype-2.4.11.tar.gz
cd freetype-2.4.11
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・libxml2
cd $LOCALBUILDDIR
tar zxf libxml2-2.9.0.tar.gz
cd libxml2-2.9.0
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-zlib=$LOCALDESTDIR
make
make install

・fontconfig
cd $LOCALBUILDDIR
tar xzf fontconfig-2.10.91.tar.gz
cd fontconfig-2.10.91
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --enable-libxml2 --disable-docs
make
make install

・pixman
cd $LOCALBUILDDIR
tar xzf pixman-0.28.2.tar.gz
cd pixman-0.28.2
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・cario
cd $LOCALBUILDDIR
xz -d -c cairo-1.12.14.tar.xz | tar xv
cd cairo-1.12.14
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・pango
cd $LOCALBUILDDIR
tar xf pango-1.33.7.tar.xz
cd pango-1.33.7
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-included-modules=yes --disable-debug --disable-gtk-doc
make
make install

・atk
cd $LOCALBUILDDIR
tar xf atk-2.7.91.tar.xz
cd atk-2.7.91
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・gdk-pixbuf
cd $LOCALBUILDDIR
tar xf gdk-pixbuf-2.27.1.tar.xz
cd gdk-pixbuf-2.27.1
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-included-loaders=yes --without-libjasper --disable-debug
make
make install

msysを再起動。

・gtk+
cd $LOCALBUILDDIR
tar xf gtk+-2.24.16.tar.xz
cd gtk+-2.24.16
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-gdktarget=win32 --with-included-immodules=ime --disable-debug --disable-gtk-doc
rm gtk/gtk.def
make
make install

cd demos
./pixbuf-demo

cd gtk-demo
gtk-demo

これでデモ画面がでればgtkがバージョンあがったはず。

0 件のコメント:

コメントを投稿