0.49.X "desktop.o" build failure (MacPorts, latest gtkmm, glibmm)

Bug #1179338 reported by Gabriel Ulici on 2013-05-13
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
High
Jon A. Cruz

Bug Description

I`m trying to compile the latest version of Inkscape (0.49.X) on Mac OS X Lion (10.7.5) with MacPorts. I run autogen and configure with no problem but when i execute the make command i receive this error. I added even the terminal output for help.

"In file included from color-profile.cpp:31:
/opt/local/include/lcms.h: In function ‘void* _cmsMalloc(size_t)’:
/opt/local/include/lcms.h:1418: warning: comparison of unsigned expression < 0 is always false
  CXX common-context.o
  CXX composite-undo-stack-observer.o
  CXX conditions.o
  CXX conn-avoid-ref.o
  CXX connector-context.o
  CXX console-output-undo-observer.o
  CXX context-fns.o
glib-genmarshal --prefix=sp_marshal --header ./helper/sp-marshal.list > helper/tmp.sp-marshal.h
if cmp -s helper/sp-marshal.h helper/tmp.sp-marshal.h; \
 then rm helper/tmp.sp-marshal.h; \
 else mv helper/tmp.sp-marshal.h helper/sp-marshal.h; fi
  CXX desktop.o
In file included from /opt/local/include/glibmm-2.4/glibmm.h:90,
                 from /opt/local/include/gtkmm-2.4/gtkmm/stockid.h:27,
                 from /opt/local/include/gtkmm-2.4/gtkmm/iconset.h:36,
                 from /opt/local/include/gtkmm-2.4/gtkmm/style.h:47,
                 from /opt/local/include/gtkmm-2.4/gtkmm/rc.h:32,
                 from /opt/local/include/gtkmm-2.4/gtkmm/widget.h:49,
                 from /opt/local/include/gtkmm-2.4/gtkmm/container.h:31,
                 from /opt/local/include/gtkmm-2.4/gtkmm/box.h:60,
                 from ./ui/widget/dock-item.h:15,
                 from ui/dialog/dock-behavior.h:17,
                 from ui/dialog/dialog.h:18,
                 from ui/dialog/dialog-manager.h:18,
                 from desktop.cpp:30:
/opt/local/include/glibmm-2.4/glibmm/threads.h:203: error: field ‘gobject_’ has incomplete type
/opt/local/include/glibmm-2.4/glibmm/threads.h: In member function ‘GThread* Glib::Threads::Thread::gobj()’:
/opt/local/include/glibmm-2.4/glibmm/threads.h:199: error: ‘gobject_’ was not declared in this scope
/opt/local/include/glibmm-2.4/glibmm/threads.h: In member function ‘const GThread* Glib::Threads::Thread::gobj() const’:
/opt/local/include/glibmm-2.4/glibmm/threads.h:200: error: ‘gobject_’ was not declared in this scope
make[3]: *** [desktop.o] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2"

Thank you.

description: updated
description: updated
su_v (suv-lp) on 2013-05-13
tags: added: build
su_v (suv-lp) wrote :

<off-topic>
> Gabriels-MacBook:inkscape Gabe$ ./configure --disable-static --enable-shared --prefix=/Development/Projects/inkscape_source/inkscape/build --enable-osxapp

Unless you plan on working on the packaging scripts, enabling osxapp won't allow to produce usable builds (from the command line) - it is only required in combination with the packaging scripts (to create Inkscape.app), but the packaging routines in 'src/packaging/macosx' are currently broken (as is, the launcher no longer compiles on Snow Leopard and later versions of OS X).
</off-topic>

su_v (suv-lp) wrote :

Correction (of hidden comment #3)

Please use the same setup as the MacPorts Portfile [1]: local tests on OS X 10.7.5 confirm that using the configure option '--disable-strict-build' allows to compile inkscape trunk r12320 (state of latest inkscape-devel portfile) outside the MacPorts tree without failure, with the latest versions of glib, glibmm and gtkmm as currently patched and installed via MacPorts (see comment #2). Without that configure option, compiling trunk fails as reported.

[1] <https://trac.macports.org/browser/trunk/dports/graphics/inkscape-devel/Portfile#L103>

su_v (suv-lp) wrote :

AFAICT related earlier report:
- Bug #1122774 “Build failure (trunk) on Ubuntu Raring and Fedora 18”
  <https://bugs.launchpad.net/inkscape/+bug/1122774>

See also:
<http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/39832>

summary: - 0.49.X "desktop.o" mac compilation error
+ 0.49.X "desktop.o" build failure (MacPorts, latest gtkmm, glibmm)
Changed in inkscape:
status: New → Confirmed

Thanks, now it compiles.

about the comment #4 did not knew that the launcher does not work anymore.

Samuel Chase (samebchase) wrote :

I can confirm the same build errors on the latest (as of today) ArchLinux r:12340

Changed in inkscape:
importance: Undecided → High
assignee: nobody → Jon A. Cruz (jon-joncruz)
status: Confirmed → In Progress
Jon A. Cruz (jon-joncruz) wrote :

Fixed against current macports in revision #12347.

Changed in inkscape:
milestone: none → 0.49
status: In Progress → Fix Committed
su_v (suv-lp) wrote :

When compiling with USE_IMAGE_MAGICK, WITH_LIBCDR and WITH_LIBVISIO defined, these additional changes (see attached diff) are required to be able to compile current trunk without using the configure option '--disable-strict-build'. Patch tested on OS X 10.7.5 with up-to-date MacPorts (global +quartz variant, GTK2 + GTK3 build).

Please review - the proposed changes are based on those seen in r12347.

Changed in inkscape:
status: Fix Committed → In Progress
su_v (suv-lp) wrote :

Revision r12347 breaks building with older versions of glib/glibmm/gtkmm (including current Windows builds), see
<http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/40481/focus=40590>

Jon A. Cruz (jon-joncruz) wrote :

Optional features updated in revision 12356. Should complete the fix for now.

Changed in inkscape:
status: In Progress → Fix Committed
su_v (suv-lp) wrote :

Note: Current fix breaks experimental GTK3 builds with external GDL >= 3.6.x (on OS X 10.7.5) -> filing a separate report is on my TODO list (trigger seems to be including 'config.h').

Closing this report as 'Fix Released' in accordance with
<http://wiki.inkscape.org/wiki/index.php/Bug_management#Bug_status>

Changed in inkscape:
milestone: 0.49 → none
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers