GTK and GTKMM libs are out of sync

Bug #1067008 reported by jazzynico
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Low
jazzynico
Inkscape Devlibs
Fix Released
Medium
jazzynico

Bug Description

The devlibs, revision 35, provide gtk+-2.24.10, and gtkmm-2.22.0, which could lead to some weird API problems.
gtkmm should thus be updated to 2.24.2 (the latest available gtkmm-2.24 version).

Tags: build win32
Revision history for this message
jazzynico (jazzynico) wrote :

Assigning to myself.
My knowledge in compiling C++ binding libraries is quite low. Don't hesitate to help me or patch the devlibs if you've already manage to compile gtkmm on Windows.

Revision history for this message
jazzynico (jazzynico) wrote :

Also requires updading:
* pangomm-2.28.4
* glibmm-2.28.2
* atkmm-2.22.6

For the record, I'm compiling with the usual TDM-GCC (4.6.1) environment, plus system commands (sh required to run ./configure) from a separate MSYS install (without MINGW32!).
So far I've managed to build pangomm, glibmm and atkmm, and successfully tested the binaries (by replacing the dll files in the Inkscape installation folder).

To do:
* compile gtkmm (in progress)
* compile and test inkscape with the new libs' headers and dlls.

Changed in inkscape-devlibs:
status: Triaged → In Progress
Revision history for this message
jazzynico (jazzynico) wrote :

Good progress today. Everything compiled correctly. Extra work was needed in giomm (dbus includes needed to be commented) and gtkmm (weird .gtkmm-2.4.pc file issue). Inkscape also needed an update to take the new gtkmm version into account (build.xml file).

Now, test time!
If everything is ok, I plan to commit the new libs next Thursday.

Revision history for this message
jazzynico (jazzynico) wrote :

Good new, everything looks fine with the new libs. Except that I forgot to link libstdc++ statically, and Inkscape doesn't launch if the lib is not in the install directory. Rebuilding in progress...

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Sounds great! Hopefully, we'll be able to drop the conditional support for GTK+ 2.22 soon. By my count, OpenSUSE 11.4 is the only tracked non-LTS linux distro that still doesn't provide GTK+ 2.24, and it reaches end-of-life within 3 weeks.

Revision history for this message
jazzynico (jazzynico) wrote :

Not completely done yet. I've spent lots of time yesterday finding out that the old gtkmm libs were build with g++ 4.4 (stdc++ linked statically by default) and that g++ 4.6 links stdc++ dynamically by default. There's new option, -static-libstdc++, but it returns an error when used with TDM-GCC 4.6 and 4.7.
Thus I've built the libs with g++ 4.4 (looks ok when copying the dlls to an existing Inkscape installation), but since the same g++ version produces a compiler error when building Inkscape, I now need to rebuild Inkscape with g++ 4.6...

@Alex - I've also started to build gtk+3, but it requires that we update almost everything in the devlibs. I've managed to build some libs, but I'm stuck with an error when compiling glib. That said, I'm not sure the required updates won't affect the current devlibs. Maybe it could be safer to create a new branch.

Revision history for this message
jazzynico (jazzynico) wrote :

Libs updated devlibs revision 36.

Changed in inkscape-devlibs:
status: In Progress → Fix Released
Revision history for this message
jazzynico (jazzynico) wrote :

Trunk updated (in order to use gtkmm 2.24) revision 11810.

Changed in inkscape:
assignee: nobody → JazzyNico (jazzynico)
importance: Undecided → Low
milestone: none → 0.48.4
status: New → Fix Committed
Revision history for this message
jazzynico (jazzynico) wrote :

Reopening due to regressions in devlibs r36 (uncommitted).
See Bug #1069806 <https://bugs.launchpad.net/inkscape-devlibs/+bug/1069806>

Changed in inkscape-devlibs:
status: Fix Released → In Progress
Changed in inkscape:
status: Fix Committed → In Progress
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Reported the lack of win32 binary upstream [1]. Hopefully they'll be able to advise us on whether an official binary will be released.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=686807

Revision history for this message
jazzynico (jazzynico) wrote :

Thanks Alex!
I've just found out that one of the regressions that led me to uncommit the devlibs r36 is not due to the gtkmm stack update (see Bug #1070903 'Crash when saving a new document').
Anyway, I'm going to create a separate devlibs branch so that we can test it without risking to break something in the official trunk.

Revision history for this message
jazzynico (jazzynico) wrote :

Of course, it would be easier if the Gnome team could provide Windows binaries...

su_v (suv-lp)
tags: added: build win32
Revision history for this message
jazzynico (jazzynico) wrote :

New devlibs-testing branch created (https://code.launchpad.net/~jazzynico/inkscape-devlibs/devlibs-testing).
Note that the current revision has the same issues (see https://bugs.launchpad.net/bugs/1069806) I've noticed with devlibs r36.

Feel free to use it to test if it introduces other regressions (don't forget to add "#define WITH_GTKMM_2_24 1" in build.xml in the Inkscape trunk). I've already tested it (mainly the tools, extensions and drawing commands) but may have missed bugs (as I did for the File>Open one).
If there's no other issue, it could be interesting to investigate if we could find a workaround.

Needless to say I will also try to solve the issue in the libs directly.

Revision history for this message
jazzynico (jazzynico) wrote :

Libs updated again in devlibs revision 36.
The two regressions were not related to the devlibs, and are now fixed in the trunk.

Changed in inkscape-devlibs:
status: In Progress → Fix Released
Revision history for this message
jazzynico (jazzynico) wrote :

Trunk updated (in order to use gtkmm 2.24) revision 11864.

Revision history for this message
jazzynico (jazzynico) wrote :

Branch updated, revision 9919.

Changed in inkscape:
status: In Progress → Fix Committed
Ted Gould (ted)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.