Compilation error after introducing Symbol dialog

Bug #1065886 reported by dopelover
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Unassigned
Inkscape Devlibs
Invalid
High
Unassigned

Bug Description

There is a compilation problem on Windows XP with r11787.

Error message below:
=================
Make error line 289: problem compiling: src/ui/dialog/symbols.cpp: In constructor 'Inkscape::UI::Dialog::SymbolsDialog::SymbolsDialog(const gchar*)':
src/ui/dialog/symbols.cpp:104:14: error: 'class Gtk::ComboBoxText' has no member named 'append'
src/ui/dialog/symbols.cpp:142:19: error: 'class Gtk::ComboBoxText' has no member named 'append'
src/ui/dialog/symbols.cpp:160:18: error: 'class Gtk::ComboBoxText' has no member named 'append'
src/ui/dialog/symbols.cpp: In member function 'void Inkscape::UI::Dialog::SymbolsDialog::get_symbols()':
src/ui/dialog/symbols.cpp:294:19: error: 'class Gtk::ComboBoxText' has no member named 'append'

Tags: build win32
Revision history for this message
su_v (suv-lp) wrote :

Could you try with a clean build? Revision 11787 was supposed to fix the build error on Windows:
<http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/39202/focus=39205>
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/11787>

tags: added: build win32
Changed in inkscape:
importance: Undecided → High
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Hmm... the documentation for devlibs looks like it's using gtkmm 2.22 with GTK+ 2.24. Is this actually the case? If so, this could be causing some weird API problems... please could someone who's familiar with devlibs look into this?

su_v (suv-lp)
Changed in inkscape-devlibs:
importance: Undecided → High
Revision history for this message
dopelover (dopelover) wrote : Re: [Bug 1065886] Re: Compilation error after introducing Symbol dialog

I had updated devlibs and also tried with clean build

Dnia 12 października 2012 12:32 ~suv <email address hidden> napisał(a):

> ** Also affects: inkscape-devlibs
> Importance: Undecided
> Status: New
>
> ** Changed in: inkscape-devlibs
> Importance: Undecided => High
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1065886
>
> Title:
> Compilation error after introducing Symbol dialog
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/1065886/+subscriptions
>

Revision history for this message
dopelover (dopelover) wrote :

I had updated devlibs and also had tried with clean build before I reported this issue.

Dnia 12 października 2012 11:47 ~suv <email address hidden> napisał(a):

> Could you try with a clean build? Revision 11787 was supposed to fix the build error on Windows:
> <http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/39202/focus=39205>
> <http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/11787>
>
> ** Tags added: build win32
>
> ** Changed in: inkscape
> Importance: Undecided => High
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1065886
>
> Title:
> Compilation error after introducing Symbol dialog
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/1065886/+subscriptions
>

Revision history for this message
jazzynico (jazzynico) wrote :

@Alex - I confirm the current devlibs (used with 0.48 and 0.49) have gtkmm 2.22 and gtk+ 2.24. It's due to the fact that no gtkmm update is available (as Windows binary) on the Gnome FTP (see http://ftp.gnome.org/pub/GNOME/binaries/win32/gtkmm/).

Revision history for this message
dopelover (dopelover) wrote :

I have just tried to compile inkscape once again and this time it has been finally compiled. Five previous attempts ended up in failure but the sixth attempt ended well. Strange...

Dnia 12 października 2012 13:43 JazzyNico <email address hidden> napisał(a):

> @Alex - I confirm the current devlibs (used with 0.48 and 0.49) have
> gtkmm 2.22 and gtk+ 2.24. It's due to the fact that no gtkmm update is
> available (as Windows binary) on the Gnome FTP (see
> http://ftp.gnome.org/pub/GNOME/binaries/win32/gtkmm/).
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1065886
>
> Title:
> Compilation error after introducing Symbol dialog
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/1065886/+subscriptions
>

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

@JazzyNico - wow, that seems like bad news. There have been a few API changes from 2.22 to 2.24. Seeing as almost all linux distros have now updated to 2.24, and we're ultimately shifting Inkscape to 3.x, it's not good to be stuck with 2.22 in devlibs.

Perhaps we could consider building & distributing Gtkmm 2.24 (and eventually 3.x) DLLs ourselves? There are instructions here: https://live.gnome.org/action/info/gtkmm/MSWindows/BuildingGtkmm

I know next to nothing about development on win32, so I don't know how much of a pain this would be to do/support.

Revision history for this message
su_v (suv-lp) wrote :

On 12/10/2012 14:19, dopelover wrote:> I have just tried to compile inkscape once again and this time it has
> been finally compiled. Five previous attempts ended up in failure but
> the sixth attempt ended well. Strange...

This reminds me of another user report with similar build issues on Windows:
Comments 77-80 in
<https://bugs.launchpad.net/inkscape/+bug/988601>

Revision history for this message
jazzynico (jazzynico) wrote :

> I know next to nothing about development on win32, so I don't know how much of a pain this would be to do/support.

I'm currently trying to compile the gtkmm sources (2.24.2). It requires some other updates (atkmm, pangomm and glibmm), but doesn't seem too complicated. But with win32 ports, there's always something tricky somewhere...

> we're ultimately shifting Inkscape to 3.x

Yep, but IMHO that something we should do after 0.49 is out. I'm almost sure it will require lots of updates (and there's no available win32 builds on the Gnome FTP for 3.x).

@dopelover - The issue you reported is now fixed, and thus I'm going to close the report.

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

Devlibs issue reported Bug #1067008 "GTK and GTKMM libs are out of sync".

Revision history for this message
David Mathog (mathog) wrote :

Just updated lp988601 and it would not build on linux, with a fairly similar error message:

...
 CXXLD inkscape
libinkscape.a(dialog-manager.o): In function `Inkscape::UI::Dialog::PanelDialog<Inkscape::UI::Dialog::Behavior::FloatingBehavior>* Inkscape::UI::Dialog::PanelDialog<Inkscape::UI::Dialog::Behavior::FloatingBehavior>::create<Inkscape::UI::Dialog::SymbolsDialog>()':
/usr/local/src/inkscape_lp988601/src/./ui/dialog/panel-dialog.h:245: undefined reference to `Inkscape::UI::Dialog::SymbolsDialog::getInstance()'
libinkscape.a(dialog-manager.o): In function `Inkscape::UI::Dialog::PanelDialog<Inkscape::UI::Dialog::Behavior::DockBehavior>* Inkscape::UI::Dialog::PanelDialog<Inkscape::UI::Dialog::Behavior::DockBehavior>::create<Inkscape::UI::Dialog::SymbolsDialog>()':
/usr/local/src/inkscape_lp988601/src/./ui/dialog/panel-dialog.h:186: undefined reference to `Inkscape::UI::Dialog::SymbolsDialog::getInstance()'
collect2: ld returned 1 exit status

The system has:

libgtk-3-0 3.4.2-0ubuntu0.4
libgtk2.0-0 2.24.10-0ubuntu6
libgtkmm-2.4-1c2a 1:2.24.2-1ubuntu1

Same issue or different one?

Revision history for this message
su_v (suv-lp) wrote :

<off-topic>
David Mathog wrote
> Just updated lp988601 (.…)

Just for clarification: this refers to <https://code.launchpad.net/~inkscape.dev/inkscape/lp988601> where I maintain David's EMF support in a separate branch. Note that I haven't merged the latest changes from trunk yet into the branch (latest merge is based on trunk's revision 11787). I will merge latest trunk into the branch and push the changes (of all goes well) tonight.
</off-topic>

Revision history for this message
David Mathog (mathog) wrote :

Never mind - I figured it out. Something or other messed changed $PATH, so that ./configure did not run correctly after the bzr update, so that symbols.o never built, and that caused the error.

Revision history for this message
David Mathog (mathog) wrote :

Tried building lp988601 r11699 on Windows XP SP3, 32 bit. Did this by (in mingw)

bzr revert
bzr update
patch -p0 <(two minor patches that work on linux and had worked on windows for months)

then in DOS window

mingwenv
btool

So it was a partial rebuild. This completed without problems. HOWEVER, it has problems. When it tries to open the attached test file a sort of error dialog shows up. The text is "SVG input" and it has two buttons "cancel" and "ok". Before it pops up the console shows:

(inkscape.exe:2960): Gtk-CRITICAL **: gtk_box_pack: assertion `GTK_IS_WIDGET (child)' failed

It doesn't matter which button is clicked, nothing loads. Some other tested SVG files did load, and the attached svg file does load on linux, with the exact same version/patches. It also loaded recently on windows, on 10/9/12 (based on an EMF exported from such a load.)

Will now force a complete rebuild and see if that helps or triggers the problems mentioned earlier in this thread.

Revision history for this message
David Mathog (mathog) wrote :

Tried it again the safe way:

1. deleted the build directory
2 deleted the build.dep file
3. btool

45 minutes later and it had built all the way to completion, and this version will open the file attached in the previous post without issues. (btool is not bulletproof when it comes to building properly after a bzr upgrade.)

dopelover, what did you do for a "clean" build? Both steps 1 & 2 are needed (or of course a completely new download, but
that is much more time consuming.)

Revision history for this message
David Mathog (mathog) wrote :

Make that "bzr update". Again, this was on Windows XP SP3, 32 bit.

Revision history for this message
jazzynico (jazzynico) wrote :

@David, btool accepts some options, such as clean (your steps 1 and 2, plus removes the target directory), dist-inskscape (only build inkscape without inkview), etc. (see build.xml).
Thus for a clean build, just use "btool clean".

Revision history for this message
Johan Engelen (johanengelen) wrote :

and don't forget "btool -j" for a faster build on multicore procs.

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.