vecterion_vge 17.07 release works



GladeとGtkバージョン

gladeによるポトペタなGUI作成を導入したのですが、これにWindows版公式ビルド最新版より新しいバージョンのGTKが必要とのこと。

===
 debug: et_etaion_set_application_base_dir_from_execute_path()[126]: dir:'..'
critical: init_gtk_builder_()[2740]: Couldn't load document_new_dialog_builder file: ./resource/ui/document_new_dialog.glade: required gtk+ version 3.12, current version is 3.10

===


ビルド済みGTKライブラリの取得

officialの最新版は 3.10.4-20131202 までしか提供されていないので、unofficialなバイナリを使用することに。
使い勝手の問題からofficialに近いパッケージを探して、https://twitter.com/niloufarjp/ 氏の配布してくださっている配布パッケージを、下記スクリプトで全解凍&フォルダ統合済みに再パッケージ。
https://github.com/MichinariNukazawa/vecterion_vge/blob/master/deploy/win/gtk_library/gtk_library_repackage.sh

loaders.cache, libpixbufloader-svg.dll

libpixbufloader-svg.dll を使うにあたって loaders.cache が無いから gdk-pixbuf-query-loaders.exeを呼び出して作れ、と親切なエラーメッセージなのでそれに従いファイルを作成。
===
(vecterion_vge.exe:8124): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file 'C:\Users\nuka\Documents\vecterion_vge-win64-17.07develop-11c2ada\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > C:\Users\nuka\Documents\vecterion_vge-win64-17.07develop-11c2ada\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
to make things work again for the time being.
===

下の、古い設定ファイルをコピーしてきても動いたけれど、念のため生成版に置き換え。
===古い版
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders.exe from gdk-pixbuf-2.30.1
#
# LoaderDir = Z:\srv\win32builder\fixed_3104\build\win32/lib/gdk-pixbuf-2.0/2.10.0/loaders
#
"lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll"
"svg" 2 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
"svg" "svgz" "svg.gz" ""
" <svg" "*    " 100
" <!DOCTYPE svg" "*             " 100
 

 
===

===生成版
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders.exe from gdk-pixbuf-2.36.6
#
# LoaderDir = C:\Users\nuka\Documents\vecterion_vge-win64-17.07develop-11c2ada/lib/gdk-pixbuf-2.0/2.10.0/loaders
#
"GDK_PIXBUF_TOPLEVEL/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll"
"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
"svg" "svgz" "svg.gz" ""
" <svg" "*    " 100
" <!DOCTYPE svg" "*             " 100
 

===

足りないアイコンファイルの追加

===
 (vecterion_vge.exe:8156): Gtk-WARNING **: Could not find the icon 'window-minimize-symbolic-ltr'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
    http://icon-theme.freedesktop.org/releases

===
===
(vecterion_vge.exe:8156): Gtk-WARNING **: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found. 

===

今回の場合、 https://github.com/Beep6581/RawTherapee/issues/3046 に書いてあるキャッシュの更新はしなくても、上記警告まではとりあえず解決して消える。

===
(vecterion_vge.exe:6744): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**

===

===
**
Gtk:ERROR:gtkiconhelper.c:493:ensure_surface_for_gicon: assertion failed: (destination)
===

share/icons 以下のアイコンファイルが足りないだけなので、これをすべて配布パッケージに追加。

CSS font: monotype; の警告

===
(vecterion_vge.exe:3652): Gtk-WARNING **: Theme parsing error: <data>:23:9: not a number

(vecterion_vge.exe:3652): Gtk-WARNING **: Theme parsing error: <data>:23:18: Using Pango syntax for the font: style property is deprecated; please use CSS syntax
===
CSS syntaxに合わせろとのことなので、font-familyに書き換えて解決。
===
 626 >------->------->-------"GtkStatusbar {\n"¬
 627 >------->------->-------"   font-family: monospace;\n"¬
 628 >------->------->-------"}\n"¬

===


CSS 'px'の警告


===
(vecterion_vge.exe:3652): Gtk-WARNING **: Theme parsing error: <data>:20:16: Not using units is deprecated. Assuming 'px'.
===

単位のつけ忘れだった。

===
 629 >------->------->-------"GtkTextView {\n"¬
 630 >------->------->-------"   font-family: monospace;\n"¬
 631 >------->------->-------"   font-size: 12px;\n"¬
 632 >------->------->-------"}\n"¬

===

.glade ダイアログ -rdynamic の警告

 .gladeファイルによるUIを使用していると出る。
===
(vecterion_vge.exe:7444): Gtk-WARNING **: Could not find signal handler 'cb_clicked_button_cancel_'.  Did you compile with -rdynamic?

(vecterion_vge.exe:7444): Gtk-WARNING **: Could not find signal handler 'cb_clicked_button_ok_'.  Did you compile with -rdynamic?

===
.gladeファイル読み込みの際に、 gtk_builder_connect_signals(); を呼んでいたが、OK,Cancelボタンの標準的なコールバック(gtk_dialog_run()から戻り値でACCEPT/その他が返ってくる)には必要なかったので、これを除去すると消えた。

ビルドオプションは今は追う必要がないので、追っていない。以下はメモ。
警告メッセージは `-dynamic`を付けろと言っているが、 実際は` -Wl,--export-dynamic`かもしれない。
ただし、これも、Windows版(mingw)では以下の警告が出た。
===
/usr/bin/x86_64-w64-mingw32-ld: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?
===

gtk_file_chooser_dialog 呼び出し時のクラッシュ

gschemas.compiled が必要だった模様。



dev版パッケージの内で、下記のような感じでコマンドを実行すると生成することができる。
(たぶん、 環境変数 GSETTINGS_SCHEMA_DIR の指定はいらない。)
```
bin\glib-compile-schemas.exe share\glib-2.0\schemas 
```
同じパスに、この gschemas.compiled ファイルを配置すると解決。

このブログの人気の投稿

GIMP2.8でイラストにペン入れを行う

squid3プロキシサーバの設定(Ubuntu13.10)

ubuntu13.04で無線LANが繋がらない場合の対処