dir-util.o fails to build with glib 2.31 in Ubuntu precise

Bug #901599 reported by Alex Valavanis on 2011-12-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Critical
Alex Valavanis

Bug Description

The Inkscape-trunk PPA package fails to build with glib-2.31 in Ubuntu Precise. It seems that the G_DIR_SEPARATOR and g_get_current_dir symbols were removed from glib in this version. I haven't yet found any documentation for the change.

PPA package version: 1:0.48+devel+10761+30~precise1
Buildlog: https://launchpadlibrarian.net/86937429/buildlog_ubuntu-precise-amd64.inkscape-trunk_1%3A0.48%2Bdevel%2B10761%2B30~precise1_FAILEDTOBUILD.txt.gz

dir-util.cpp: In function 'std::string sp_relative_path_from_path(const string&, const string&)':
dir-util.cpp:21:42: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:27:36: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp: In function 'const char* sp_extension_from_path(const char*)':
dir-util.cpp:54:31: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp: At global scope:
dir-util.cpp:63:39: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp: In function 'char* inkscape_rel2abs(const char*, const char*, char*, size_t)':
dir-util.cpp:74:16: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:95:18: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:100:22: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:111:20: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:119:33: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:129:33: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:141:27: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp: In function 'char* inkscape_abs2rel(const char*, const char*, char*, size_t)':
dir-util.cpp:160:18: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:177:20: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:179:33: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:191:32: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp:196:20: error: 'G_DIR_SEPARATOR' was not declared in this scope
dir-util.cpp: In function 'gchar* prepend_current_dir_if_relative(const gchar*)':
dir-util.cpp:230:33: error: 'g_get_current_dir' was not declared in this scope

Changed in inkscape:
importance: Undecided → Critical
tags: added: build
description: updated
su_v (suv-lp) wrote :

> fails to build with glib-2.31

Related to Bug #898538 in Inkscape: “inkscape fails to build with glib 2.31”?

Alex Valavanis (valavanisalex) wrote :

Yes, this is probably a symptom of that problem. It looks like the "missing" symbol declarations were moved to a different glib header. Because dir-util.h directly includes <glib/gtypes.h>, rather than <glib.h>, it can't see the declarations in their new location. I'm checking through the patch now.

Changed in inkscape:
assignee: nobody → Alex Valavanis (valavanisalex)
status: New → In Progress
Alex Valavanis (valavanisalex) wrote :

Fix committed for bug #898538 in trunk r10762. Rebuild of PPA requested... I'll wait until it builds correctly before marking this as fixed.

su_v (suv-lp) wrote :

r10763 deleted 'po/inkscape.pot', probably unintentionally (AFAICT the file gets removed with 'make clean', even though it is under version control).

jazzynico (jazzynico) wrote :

inkscape.pot recreated r10764.

Alex Valavanis (valavanisalex) wrote :

Oops - sorry about that!

Is there a safe way to do make clean that doesn't rm po/inkscape.pot?

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

Other bug subscribers