2013年4月24日水曜日

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

いくつかバージョンあげ。
あげた後、
gtkが不安定だったのが安定した気がする。
gimpの起動時のsplashが表示されないのが解決。
あと、gtk-demoをいじっていたらたまに落ちたのが、
落ちなくなった。


・libpng
cd $LOCALBUILDDIR && \
cd libpng-1.5.15 && \
make clean

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

・libffi
cd $LOCALBUILDDIR && \
cd libffi-3.0.13 && \
make clean

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

・glib
cd $LOCALBUILDDIR && \
cd glib-2.36.1 && \
make clean

cd $LOCALBUILDDIR && \
tar -jxf glib-2.36.1.tar.bz2 && \
cd glib-2.36.1 && \
./autogen.sh --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --with-pcre=internal --enable-debug=no --disable-gtk-doc && \
make && \
make install

・fontconfig
cd $LOCALBUILDDIR && \
cd fontconfig-2.10.92 && \
make clean

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

・pango
cd $LOCALBUILDDIR && \
cd pango-1.34.0 && \
make clean

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

・atk
cd $LOCALBUILDDIR && \
cd atk-2.8.0 && \
make clean

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

・gdk-pixbuf
cd $LOCALBUILDDIR && \
cd gdk-pixbuf-2.28.1 && \
make clean

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

・gtk+
cd $LOCALBUILDDIR && \
cd gtk+-2.24.17 && \
make clean

cd $LOCALBUILDDIR && \
tar xf gtk+-2.24.17.tar.xz && \
cd gtk+-2.24.17 && \
./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

・libexif
cd $LOCALBUILDDIR && \
cd libexif-0.6.21 && \
make clean

cd $LOCALBUILDDIR && \
tar -jxf libexif-0.6.21.tar.bz2 && \
cd libexif-0.6.21 && \
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR && \
make && \
make install

・librsvg

cd $LOCALBUILDDIR && \
cd librsvg-2.37.0 && \
make clean

cd $LOCALBUILDDIR && \
tar xf librsvg-2.37.0.tar.xz && \
cd librsvg-2.37.0

パッチは前に使ったやつをそのまま使う
librsvg-2.32.0-gtk3.patch

patch -p1 < librsvg-2.32.0-gtk3.patch

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --disable-introspection --enable-gtk-theme --disable-pixbuf-loader --enable-shared --disable-static

make
make install

・poppler

cd $LOCALBUILDDIR && \
cd poppler-0.22.3 && \
make clean

cd $LOCALBUILDDIR && \
tar xzf poppler-0.22.3.tar.gz && \
cd poppler-0.22.3

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --enable-shared --disable-static --enable-xpdf-headers GLIB_MKENUMS=/local64/bin/glib-mkenums

C:\MinGW\build64\poppler-0.22.3\test
perf-test.cc

下記のように修正

void strcpy_s(char* dst, size_t dst_size, const char* src)

errno_t strcpy_s(char* dst, size_t dst_size, const char* src)

make
make install

・gimpを再度ビルド

2013年4月15日月曜日

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


放置していたgimp依存パッケージに対応します。


・wmf

http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_Factory/src/mingw64-libwmf-0.2.8.4-5.257.src.rpm

cd $LOCALBUILDDIR
tar xzf libwmf-0.2.8.4.tar.gz
cd libwmf-0.2.8.4

各種パッチ
https://github.com/drawoc/windows-gimp-jhbuild/tree/master/patches/libwmf

patch -p1 < libwmf-0.2.8.3-nodocs.patch
patch -p1 < libwmf-0.2.8.3-relocatablefonts.patch
patch -p1 < libwmf-0.2.8.4-deps.patch
patch -p1 < libwmf-0.2.8.4-fallbackfont.patch
patch -p1 < libwmf-0.2.8.4-intoverflow.patch
patch -p1 < libwmf-0.2.8.4-libpng-1.5.patch
patch -p1 < libwmf-0.2.8.4-multiarchdevel.patch
patch -p1 < libwmf-0.2.8.4-reducesymbols.patch
patch -p1 < libwmf-0.2.8.4-useafterfree.patch

./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --enable-shared --disable-static --without-x

make
make install

・mng

http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_12.3/src/mingw64-libmng-1.0.10-2.5.src.rpm

cd $LOCALBUILDDIR
tar -jxf libmng-1.0.10.tar.bz2
cd libmng-1.0.10

libmng-1.0.10-mingw.patch
libmng-1.0.9-dont-leak-zlib-streams.diff

patch -p1 < libmng-1.0.10-mingw.patch
patch -p0 < libmng-1.0.9-dont-leak-zlib-streams.diff

C:\MinGW\build64\libmng-1.0.10\makefiles
makefile.mingwdll
の下記箇所を変更

INSTALL_PREFIX = /local64
ZLIBLIB=-L/local64/lib -lz
JPEGLIB=-L/local64/lib -ljpeg
LCMSLIB=-L/local64/lib -llcms
LCMSINC=-I/local64/include

make -f makefiles/makefile.mingwdll
make -f makefiles/makefile.mingwdll INSTALL_PREFIX=/local64/ install

・poppler

cd $LOCALBUILDDIR
tar xzf poppler-0.22.2.tar.gz
cd poppler-0.22.2

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --enable-shared --disable-static --enable-xpdf-headers GLIB_MKENUMS=/local64/bin/glib-mkenums

C:\MinGW\build64\poppler-0.22.2\test
perf-test.cc

下記のように修正

void strcpy_s(char* dst, size_t dst_size, const char* src)

errno_t strcpy_s(char* dst, size_t dst_size, const char* src)

make
make install


・参考:windows向けビルドのパッチたち
こんなのがありました。
https://github.com/drawoc/windows-gimp-jhbuild/tree/master/patches


=====

windowsでのpkg依存解決状況
WebKitをやりたいけどいろいろはまって進んでない。。

Extra Binaries:
  gimp-console:        yes

Optional Features:
  D-Bus service:       no
  Language selection:  yes

Optional Plug-Ins:
  Ascii Art:           no (AA library not found)
  Compressor:          yes
  Ghostscript:         no (Ghostscript library not found)
  Help Browser:        no (WebKit not found)
  LCMS:                yes
  JPEG:                yes
  JPEG 2000:           yes
  MNG:                 yes
  PDF (import):        yes
  PDF (export):        yes
  PNG:                 yes
  Print:               yes
  PSP:                 yes
  Python:              yes
  Script-Fu:           yes
  SVG:                 yes
  TIFF:                yes
  TWAIN (MacOS X):     no
  TWAIN (Win32):       yes
  URI:                 yes (using libcurl)
  Webpage:             no (WebKit not found)
  Windows ICO:         yes
  WMF:                 yes
  XJT:                 no (not built on Windows)
  X11 Mouse Cursor:    no (libXcursor not found)
  XPM:                 no (XPM library not found)

Plug-In Features:
  EXIF support:        yes

Optional Modules:
  ALSA (MIDI Input):   no (libasound not found or unusable)
  Linux Input:         no (linux input support disabled) (GUdev support: no)
  DirectInput (Win32): no
  Color Correction:    yes
  Soft Proof:          yes

Tests:
  Use xvfb-run         no (not found)

2013年4月9日火曜日

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


msys・gccのバージョンアップ

これまでの手順だと、
gccは4.7.0なのでバージョンをあげてみる。
4.8.0はvirtualメソッドの不具合?でうまくコンパイルできないパッケージがあった。

msysはインストールするタイミングで
最新がとられると思うので、
あがらないかも。
確認したmsysCOREのバージョンは1.0.18でした。


(1)バックアップ

C:\MinGW\msys\1.0\etc\profile
が上書きされるようなので、
バックアップする。

C:\MinGW\mingw64\bin\.gdbinit
もバックアップする。


(2)msysアップデート

msysから
mingw-get update
mingw-get upgrade

upgradeで、
32bit関連のgccが入ったりするが
そのあたりは使わないように注意する。

C:\MinGW\msys\1.0\etc\profile
を元に戻す。

msysコンソールを閉じる。


(3)GCCアップデート

C:\MinGW\mingw64
の中身を適当なバックアップフォルダへ移動。

4.7.2をダウンロード
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.7-release/x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb.7z/download

x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb.7z
をC:\MinGW\mingw64に展開して、
msysを起動する。

gcc --version

gcc.exe (rubenvb-4.7.2-release) 4.7.2
になっていることを確認する。

C:\MinGW\mingw64\bin\.gdbinit
を元に戻す。


(4)コンパイルオプション見直し

デフォルトで使うコンパイルオプションもいじってみた。

C:\MinGW\local64\etc\profile.local
CFLAGS="-I/local64/include -mms-bitfields -mthreads -O2 -mtune=athlon64 -mfpmath=sse -msse"
CXXFLAGS="-I/local64/include -mms-bitfields -mthreads -O2 -mtune=athlon64 -mfpmath=sse -msse"

よく使いそうな下記も追記した。
C:\MinGW\local64\etc\profile.local
export PYTHON_INCLUDES="-I/c/Python27/include/"
export PYTHON_LIBS="-L/c/Python27/libs -lpython27"
export PYTHON_LIB_LOC="/c/Python27/libs/"
export ACLOCAL_FLAGS="-I/local64/share/aclocal -I/c/MinGW/opt/share/aclocal"


(5)再コンパイル(半日コース・・・)

「Windows7 64bitでgimp2.8.4、gimp2.9~、gimp-painterをビルド(その1)」の
intltool以降を流しなおしてみる。

全てのパッケージについて、
以下のように、make cleanしてから再度ソースを展開しなおして、make。
パッチがあるのは適用してから、make。

cd $LOCALBUILDDIR
cd intltool-0.50.2
make clean

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

pkg-configだけ、make clean後に、下記ファイルを削除する。
C:\MinGW\local64\bin\pkg-config.exe
C:\MinGW\local64\bin\x86_64-w64-mingw32-pkg-config.exe

C:\MinGW\local64\etc\profile.localでデフォルトを-O2としたので、
gimpのビルドをdebugでやる場合は、

export CFLAGS="$CFLAGS -O0"
export CXXFLAGS="$CXXFLAGS -O0"

を行ってからconfigure、make、make installする。

4.7.2でも特に問題なくビルドできました。

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


openSUSEの場合と同様にeclipseと連携していきます。

(1)OSの環境変数設定
PATHに下記を追加。

C:\MinGW\mingw64\bin
C:\MinGW\msys\1.0\bin

(2)eclipseのインストール

eclipse-cpp-juno-SR2-win32-x86_64.zip
をダウンロードしてきて、
展開して、下記となるように配置しました。

C:\eclipse_cdt\eclipse.exe

eclipse.exeを起動

ワークスペースは下記にした。
C:\eclipse_cdt\workspace

使いそうなパースペクティブは
Window/Open Perspective
から開いておく。

とりあえず、下記3つ。

Debug
Git Repository Exploring
Team Synchronizing

(3)eclipseプロジェクト作成(git-gimp-2.8用)

C/C++パースペクティブを選択。
ProjectExplorerで右クリックして、import。
C/C++/Exisiting Code as Makefile Projectを選択して、Next。

Project Name : git-gimp-2.8
Existing Code Location : C:\work\git\gimp-2.8
Toolchain for Indexer Settings : MinGW GCC

としてFinish。

Project/Propertiesを選択。
C/C++ General/Paths and Symbols

のIncludeタブでGNU CとGNU C++に下記をAdd。

C:\MinGW\local64\include
C:\MinGW\local64\include\freetype2
C:\MinGW\local64\include\cairo
C:\MinGW\local64\include\pango-1.0
C:\MinGW\local64\include\glib-2.0
C:\MinGW\local64\include\gdk-pixbuf-2.0
C:\MinGW\local64\include\gtk-2.0
C:\MinGW\local64\include\babl-0.1
C:\MinGW\local64\include\gegl-0.2

SymbolタブでGNU CとGNU C++に下記をAdd。
G_OS_WIN32 : 1

(4)debug configuration

まず下記ファイルを作成。
(ドット始まりのファイルはexplorerから作れないので、コマンド等でやってください。)
C:\MinGW\mingw64\bin\.gdbinit
中身は空のまま。

Run/Debug Configurationsを選択。
C/C++ Applicationを追加。

Mainタブ
Name : git-gimp-2.8 Debug
C/C++ Application : C:\work\gimpbin\git-gimp-2.8\bin\gimp-2.8.exe
Project : git-gimp-2.8
Build before launching : Disable auto build

Environmentタブ
下記3つの変数を追加
rem gtk+-2.24.16では、LANG設定する必要なしでした
rem LANG=de
HOME=C:\work\gimphome\git-gimp-2.8
PATH=C:\work\gimpbin\git-gimp-2.8;C:\work\gimpbin\git-gimp-2.8\bin;C:\MinGW\local64;C:\MinGW\local64\bin;C:\MinGW\mingw64\bin

Debuggerタブ
GDB debugger : C:\MinGW\mingw64\bin\gdb.exe
GDB command file : C:\MinGW\mingw64\bin\.gdbinit

debug実行すると、debugできます。

(5)eclipseプロジェクト作成(git-gimp-painter-2.7_postprocess用)

C/C++パースペクティブを選択。
ProjectExplorerで右クリックして、import。
C/C++/Exisiting Code as Makefile Projectを選択して、Next。

Project Name : git-gimp-painter-2.7_postprocess
Existing Code Location : C:\work\git\git-gimp-painter-2.7_postprocess
Toolchain for Indexer Settings : MinGW GCC

としてFinish。

Project/Propertiesを選択。
C/C++ General/Paths and Symbols

のIncludeタブでGNU CとGNU C++に下記をAdd。

C:\MinGW\local64\include
C:\MinGW\local64\include\freetype2
C:\MinGW\local64\include\cairo
C:\MinGW\local64\include\pango-1.0
C:\MinGW\local64\include\glib-2.0
C:\MinGW\local64\include\gdk-pixbuf-2.0
C:\MinGW\local64\include\gtk-2.0
C:\MinGW\local64\include\babl-0.1
C:\MinGW\local64\include\gegl-0.2

SymbolタブでGNU CとGNU C++に下記をAdd。
G_OS_WIN32 : 1

(6)debug configuration

Run/Debug Configurationsを選択。
C/C++ Applicationを追加。

Mainタブ
Name : git-gimp-painter-2.7_postprocess Debug
C/C++ Application : C:\work\gimpbin\git-gimp-painter-2.7_postprocess\bin\gimp-2.8.exe
Project : git-gimp-painter-2.7_postprocess
Build before launching : Disable auto build

Environmentタブ
下記3つの変数を追加
rem gtk+-2.24.16では、LANG設定する必要なし
rem LANG=de
HOME=C:\work\gimphome\git-gimp-painter-2.7_postprocess
PATH=C:\work\gimpbin\git-gimp-painter-2.7_postprocess;C:\work\gimpbin\git-gimp-painter-2.7_postprocess\bin;C:\MinGW\local64;C:\MinGW\local64\bin;C:\MinGW\mingw64\bin

Debuggerタブ
GDB debugger : C:\MinGW\mingw64\bin\gdb.exe
GDB command file : C:\MinGW\mingw64\bin\.gdbinit

debug実行すると、debugできます。

2013年4月7日日曜日

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


前回の続き。

いろいろやっていた気づいたことは、
ビルド失敗時に必要なパッチを探すのが大変ってこと。

今は下記のように調査・対応してます(大体これでいけるような?)。
openSUSEのOBSの検索(http://software.opensuse.org/search)で
パッケージを検索する。
同一パッケージでも、いろいろなソースが出てくるので、
mingw64のところのソース(rpm)を落としてくる。
rpmの中のcpioの中にソース、パッチとspecファイルが入っているので、
パッチは中身をさらっと確認して、適用。
specファイルを参考にして、configure、make、make install。

それでは、ビルドが続きます。


(1)gimpが使用している他パッケージ(以外もあるけど)

・libopenjpeg

cd $LOCALBUILDDIR
tar xzf openjpeg-1.5.1.tar.gz
cd openjpeg-1.5.1
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・JasPer

http://software.opensuse.org/download.html?project=windows:mingw:win64&package=mingw64-jasper

mingw64-jasper-1.900.1-6.231.src.rpm

cd $LOCALBUILDDIR
unzip -o jasper-1.900.1.zip
cd jasper-1.900.1

パッチ配置($LOCALBUILDDIR/jasper-1.900.1に配置)

jasper-1.900.1-canonical-target.patch
jasper-1.900.1-enable-shared.patch
jasper-1.900.1-mingw64.patch
jasper-1.900.1-sleep.patch
patch-libjasper-stepsizes-overflow.diff

パッチ適用

patch -p1 < jasper-1.900.1-sleep.patch
patch -p1 < jasper-1.900.1-mingw64.patch
patch -p1 < jasper-1.900.1-enable-shared.patch
patch -p1 < patch-libjasper-stepsizes-overflow.diff
patch -p1 < jasper-1.900.1-canonical-target.patch

libtoolize --copy --force
aclocal
automake --add-missing
autoconf
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR --enable-shared --disable-opengl --enable-libjpeg
make
make install

・lcms

cd $LOCALBUILDDIR
tar xzf lcms-1.19.tar.gz
cd lcms-1.19
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 CPPFLAGS="-I/opt/include -I/c/Python27/include" LIBS="-L/opt/lib -L/c/Python27/Lib"
make
make install

・babl

cd $LOCALBUILDDIR
tar -jxf babl-0.1.10.tar.bz2
cd babl-0.1.10
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include" LIBS="-L/usr/lib -L/c/Python27/Lib" --enable-shared --disable-static

C:\MinGW\build64\babl-0.1.10\babl\babl-palette.c
下記を削除する。
#include <values.h>

make
make install

・gegl

cd $LOCALBUILDDIR
tar -jxf gegl-0.2.0.tar.bz2
cd gegl-0.2.0
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include -I/local64/include" LIBS="-L/usr/lib -L/c/Python27/Lib" --enable-shared --disable-static --without-sdl --disable-docs
make
make install

・python連携用?ファイル準備

partha先生(http://www.partha.com/articles/buildinggimp.html)を真似。
「pygtk-codegen-2.0」ファイルを
C:\Python27に作成。

「pygtk-codegen-2.0」
----
#! /bin/sh
prefix=c:/Python27
exec_prefix=${prefix}
pygobject_script=${exec_prefix}/pygobject-codegen-2.0
echo "note: pygtk-codegen-2.0 is deprecated, use pygobject-codegen-2.0 instead" > /dev/stderr
echo "note: I will now try to invoke pygobject-codegen-2.0 in the same directory" > /dev/stderr
exec $pygobject_script "$@"
----

「pygobject-codegen-2.0」ファイルを
C:\Python27に作成。

「pygobject-codegen-2.0」
----
#!/bin/sh
prefix=@prefix@
datarootdir=@datarootdir@
datadir=c:/Python27
codegendir=${datadir}/site-packages/gtk-2.0/codegen
PYTHONPATH=$codegendir
export PYTHONPATH
exec c:/Python27/python.exe c:/Python27/Lib/site-packages/gtk-2.0/codegen/codegen.py "$@"
----

・pygtkのdef

下記フォルダを作成
C:\Python27\share\pygtk\2.0\defs

pygtk-2.24.0.tar.bz2を展開して、
pygtk-2.24.0\gtk\gtk-base-types.defs
↓リネームしてコピー
C:\Python27\share\pygtk\2.0\defs\gtk-types.defs

pygtk-2.24.0\gtk\gdk-base-types.defs
↓リネームしてコピー
C:\Python27\share\pygtk\2.0\defs\gdk-types.defs

・python27.a作成

msysから、
mingw-get install mingw32-pexports
を実行。

C:\Windows\system32\python27.dll

C:\Python27
へコピー。

pexports /c/python27/python27.dll > /c/python27/python27.def

/mingw64/bin/dlltool -v --dllname /c/python27/python27.dll --def /c/python27/python27.def --output-lib /c/python27/libs/libpython27.a

python周りいろいろやったけど、
結局プラグイン認識できてない・・・。
次回以降解決したい。

・libxslt

cd $LOCALBUILDDIR
tar xzf libxslt-1.1.28.tar.gz
cd libxslt-1.1.28
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include" LIBS="-L/usr/lib -L/c/Python27/Lib"

windows向けに下記を修正

C:\MinGW\build64\libxslt-1.1.28\libxslt\security.c
line:346
- ret = mkdir(directory, 0755);
+ ret = mkdir(directory);

make
make install

・iso-codes

cd $LOCALBUILDDIR
tar xf iso-codes-3.41.tar.xz
cd iso-codes-3.41
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・libexif

cd $LOCALBUILDDIR
tar xzf libexif-0.6.20.tar.gz
cd libexif-0.6.20
./configure --build=x86_64-w64-mingw32 --prefix=$LOCALDESTDIR
make
make install

・bz2

http://software.opensuse.org/download.html?project=windows:mingw:win64&package=mingw64-bzip2

mingw64-bzip2-1.0.6-3.218.src.rpm

cd $LOCALBUILDDIR
tar xzf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6

bzip2-1.0.4-bzip2recover.patch
bzip2-1.0.5-slash.patch
bzip2-1.0.6-dll.patch

patch -p1 < bzip2-1.0.4-bzip2recover.patch
patch -p1 < bzip2-1.0.5-slash.patch
patch -p1 < bzip2-1.0.6-dll.patch

make -f Makefile-libbz2_so
make clean
make

C:\MinGW\build64\bzip2-1.0.6\Makefile
の下記を修正(「.exe」を追記)
(参考:http://mingw.doorblog.jp/archives/22758238.html

chmod a+x $(PREFIX)/bin/bzip2.exe
chmod a+x $(PREFIX)/bin/bunzip2.exe
chmod a+x $(PREFIX)/bin/bzcat.exe
chmod a+x $(PREFIX)/bin/bzip2recover.exe

make install PREFIX=$LOCALDESTDIR

cp ./bz2-1.dll $LOCALDESTDIR/bin
cp ./libbz2.dll.a $LOCALDESTDIR/lib

・libcroco

cd $LOCALBUILDDIR
tar xf libcroco-0.6.8.tar.xz
cd libcroco-0.6.8
./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32
make
make install

・librsvg

http://software.opensuse.org/download.html?project=windows:mingw:win64&package=mingw64-librsvg

mingw64-librsvg-2.36.3-2.75.src.rpm

cd $LOCALBUILDDIR
tar xf librsvg-2.36.4.tar.xz
cd librsvg-2.36.4

※ここではlibrsvg-2.36.4.tar.xzを使用するが、patchはそのまま使える
librsvg-2.32.0-gtk3.patch

patch -p1 < librsvg-2.32.0-gtk3.patch

./configure --prefix=$LOCALDESTDIR --build=x86_64-w64-mingw32 --disable-introspection --enable-gtk-theme --disable-pixbuf-loader --enable-shared --disable-static

make
make install


(2)gimp

いよいよgimpです。

・gimp-2.8.4

まずはtarボールを使ってやってみます。

cd $LOCALBUILDDIR
tar -jxf gimp-2.8.4.tar.bz2
cd gimp-2.8.4
export PYTHON_LIBS="-L/c/Python27/libs -lpython27"

./configure --prefix=/c/work/gimpbin/gimp-2.8.4 --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include -I/local64/include" LIBS="-L/usr/lib -L/c/Python27/Lib" CFLAGS="-DMS_WIN64" --enable-debug --without-gvfs

※1の修正を行う。

make
make install

起動用batを作成して、batから実行。

gimp-2.8.4_start.bat
---
rem gtk+-2.24.16では、LANG設定する必要なし
rem set LANG=de
set HOME=C:\work\gimphome\gimp-2.8.4
if not exist %HOME% mkdir %HOME% > nul
set PATH=C:\work\gimpbin\gimp-2.8.4;C:\work\gimpbin\gimp-2.8.4\bin;C:\MinGW\local64;C:\MinGW\local64\bin;C:\MinGW\mingw64\bin;%PATH%
start C:\work\gimpbin\gimp-2.8.4\bin\gimp-2.8.exe
---


次はgitのソースでやってみます。
まずは2.8系。

c:/work/git/gimpに
git clone
git://git.gnome.org/gimp

・git-gimp-2.8

2.8系も次の2.8.6?リリースに向けて修正が日々入るので、
windowsでビルドができないコミットが入ることがあります。

解決したい場合は、
gimp-2.8系に関するbug検索
http://www.google.com/custom?hl=ja&domains=mail.gnome.org&hq=inurl%3A%2Farchives%2F&q=gimp%2Fgimp-2-8+Bug
で探すと出てくることがあります。
gimp最新系(2.9)からのフィードバックもあるので、
gimp全般
http://www.google.com/custom?hl=ja&domains=mail.gnome.org&hq=inurl%3A%2Farchives%2F&q=gimp+Bug&as_qdr=y
から検索してもよいかも。


openSUSEの時と同様に、
c:/work/git/gimp

c:/work/git/gimp-2.8
にまるごとコピーして、
2.8系用のブランチにスイッチする。


cd /c/work/git/gimp-2.8
export PYTHON_INCLUDES="-I/c/Python27/include/"
export PYTHON_LIBS="-L/c/Python27/libs -lpython27"
export PYTHON_LIB_LOC="/c/Python27/libs/"
export ACLOCAL_FLAGS="-I/local64/share/aclocal -I/c/MinGW/opt/share/aclocal"

./autogen.sh --prefix=/c/work/gimpbin/git-gimp-2.8 --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include -I/local64/include" LIBS="-L/usr/lib -L/c/Python27/Lib" CFLAGS="-DMS_WIN64" --enable-debug --without-gvfs --disable-gtk-doc


※1の修正

※2の修正
 Bug 593167 - Support Windows in gimp_get_default_unit()
 2013/3/18のコミットでwindowsエラーがでるようになった。

※3の修正
 たぶんmsysからgitコマンドが使えない場合にエラーとなるので、

 app/git-version.hを手動で作成。
 tarボールでとってきたソースにはもともと入っているので問題ない。

make
make install

起動用batを作成して、batから実行。

git-gimp-2.8_start.bat
---
rem gtk+-2.24.16では、LANG設定する必要なし
rem set LANG=de
set HOME=C:\work\gimphome\git-gimp-2.8
if not exist %HOME% mkdir %HOME% > nul
set PATH=C:\work\gimpbin\git-gimp-2.8;C:\work\gimpbin\git-gimp-2.8\bin;C:\MinGW\local64;C:\MinGW\local64\bin;C:\MinGW\mingw64\bin;%PATH%
start C:\work\gimpbin\git-gimp-2.8\bin\gimp-2.8.exe
---

・git-gimp-painter-2.7_postprocess

openSUSEの時と同様に、
c:/work/git/gimp-painter-2.7

c:/work/git/gimp-painter-2.7_postprocess
にまるごとコピーして、
postprocess用のブランチにスイッチする。

cd /c/work/git/gimp-painter-2.7_postprocess
export PYTHON_INCLUDES="-I/c/Python27/include/"
export PYTHON_LIBS="-L/c/Python27/libs -lpython27"
export PYTHON_LIB_LOC="/c/Python27/libs/"
export ACLOCAL_FLAGS="-I/local64/share/aclocal -I/c/MinGW/opt/share/aclocal"

./autogen.sh --prefix=/c/work/gimpbin/git-gimp-painter-2.7_postprocess --build=x86_64-w64-mingw32 CPPFLAGS="-I/usr/include -I/c/Python27/include -I/local64/include" LIBS="-L/usr/lib -L/c/Python27/Lib" CFLAGS="-DMS_WIN64" --enable-debug --without-gvfs --disable-gtk-doc

※3の修正

※4の修正

make
make install

起動用batを作成して、batから実行。

git-gimp-painter-2.7_postprocess_start.bat
---
rem gtk+-2.24.16では、LANG設定する必要なし
rem set LANG=de
set HOME=C:\work\gimphome\git-gimp-painter-2.7_postprocess
if not exist %HOME% mkdir %HOME% > nul
set PATH=C:\work\gimpbin\git-gimp-painter-2.7_postprocess;C:\work\gimpbin\git-gimp-painter-2.7_postprocess\bin;C:\MinGW\local64;C:\MinGW\local64\bin;C:\MinGW\mingw64\bin;%PATH%
start C:\work\gimpbin\git-gimp-painter-2.7_postprocess\bin\gimp-2.8.exe
---

やっとwindowsで起動できた。。。
rotate、mypaintブラシが動くのと、
処理がpostprocess(ペン操作後少し遅れて効果が表示?)されるようです。



・git-gimp-2.9

次は、gitの最新コードでビルドと思ったけど、
windowsではうまくビルドができなかったのでとりあえずしばらく放置。


eclipseでのdebugは次回。


=============

(※1)windows向けビルドでいつも修正が必要な箇所。

gimp起動時に、Gimp-Text-ERROR pangoほにゃららダイアログが出る。

修正内容

app\text\gimpfontlist.c

fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
if (! fontmap)
g_error ("You are using a Pango that has been built against a cairo "
"that lacks the Freetype font backend");



fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
if (! fontmap)
fontmap = pango_cairo_font_map_get_default ();
if (! fontmap)
g_error ("You are using a Pango that has been built against a cairo "
"that lacks the Freetype font backend");


下記も同様に更新しておく。
app/text/gimptext-compat.c
app/text/gimptextlayout.c


(※2)make時、下記エラーになる場合。

make[4]: Entering directory `/c/work/git/gimp-2.8/app/core'
  CC     gimp-utils.o
gimp-utils.c: In function 'gimp_get_default_language':
gimp-utils.c:299:10: warning: unused variable 'cat' [-Wunused-variable]
gimp-utils.c: In function 'gimp_get_default_unit':
gimp-utils.c:363:3: error: unknown type name 'DWORD'
gimp-utils.c:366:3: warning: implicit declaration of function 'GetLocaleInfo' [-
Wimplicit-function-declaration]
gimp-utils.c:366:23: error: 'LOCALE_USER_DEFAULT' undeclared (first use in this
function)
gimp-utils.c:366:23: note: each undeclared identifier is reported only once for
each function it appears in
gimp-utils.c:367:23: error: 'LOCALE_IMEASURE' undeclared (first use in this func
tion)
gimp-utils.c:367:41: error: 'LOCALE_RETURN_NUMBER' undeclared (first use in this
 function)
gimp-utils.c:368:24: error: 'LPTSTR' undeclared (first use in this function)
gimp-utils.c:369:52: error: 'TCHAR' undeclared (first use in this function)
gimp-utils.c: In function 'gimp_value_array_truncate':
gimp-utils.c:490:5: warning: 'g_value_array_remove' is deprecated (declared at C
:/MinGW/local64/include/glib-2.0/gobject/gvaluearray.h:91): Use 'g_array_remove_
index' instead [-Wdeprecated-declarations]
make[4]: *** [gimp-utils.o] Error 1
make[4]: Leaving directory `/c/work/git/gimp-2.8/app/core'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/c/work/git/gimp-2.8/app'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/c/work/git/gimp-2.8/app'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/work/git/gimp-2.8'
make: *** [all] Error 2

修正内容

app/core/gimp-utils.c

Bug593167.patch
を作成して、コミットされた修正をreverseして戻す。

下記サイトから全てコピーして、Bug593167.patchを作成して、
C:\work\git\gimp-2.8に配置。

https://mail.gnome.org/archives/commits-list/2013-March/msg21051.html

commit 194ef70d7446a627c274135c54498d3092c9b356
から
return GIMP_UNIT_MM;
までコピー。

パッチ適用を戻す。
cd /c/work/git/gimp-2.8
patch -p1 -R < Bug593167.patch

(※3)make時、下記エラーになる場合。

about-dialog.c:36:25: fatal error: git-version.h: No such file or directory

make cleanで消えるので注意。

追加内容

何かそれっぽいのをてきとーに。。

app/git-version.h
---
#ifndef __GIT_VERSION_H__
#define __GIT_VERSION_H__
#define GIMP_GIT_VERSION "GIMP_2_8"
#define GIMP_GIT_LAST_COMMIT_YEAR "2013"
#endif /* __GIT_VERSION_H__ */
---

(※4)gimp-painter-2.7向けdiff

gimp-painter-2.7_postprocess.diff
https://sites.google.com/site/gimpbuilder/files/gimp-painter-2.7_postprocess.diff?attredirects=0&d=1

windowsでせめて起動できるように
なんとか自力でgtkのエラーがでないようにしただけ。。。
ちょっと画面を動かすとエラーがでまくります><

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がバージョンあがったはず。

2013年4月1日月曜日

mypaintのビルド


gimp-painterに組み込まれ中のmypaintとはなんぞや?
と思ったので、ビルド&実行。
pythonのコードが結構ある。
pydev入れると、
eclipseでのdebugができるのかな。

環境はgimpビルドと同じでやってみた。
openSUSE12.3 64bit(VirtualBox on Windows7)
openSUSE12.3 64bit(VirtualBox on Windows7)でgimp2.8.4、gimp2.9~、gimp-painterをビルド(その2)(※)を実行した後に試しています。

ソース
git://gitorious.org/mypaint/mypaint.git

/home/admin/git/mypaint
にcloneしました。

下記パッケージをインストール
(これで足りない場合は※の手順のパッケージを参照して・・・)
scons
libjson-devel
swig
python-numpy-devel
python3-gobject-devel

ビルドとインストール
cd /home/admin/git/mypaint
scons
scons prefix=/home/admin/testbin/mypaint install

起動(dolphinなどから起動)
/home/admin/testbin/mypaint/bin/mypaint

gimpもmypaintも日々更新が入るので、
差分を見ながら勉強中。