Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 421771

Summary: media-gfx/inkscape-0.48.2 fails to build with glib 2.32
Product: Gentoo Linux Reporter: Phil Stracchino (Unix Ronin) <phils>
Component: New packagesAssignee: Gentoo Graphics Project <graphics+disabled>
Status: RESOLVED DUPLICATE    
Severity: normal CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Build log
Environment file

Description Phil Stracchino (Unix Ronin) 2012-06-18 13:20:44 UTC
Compile of media-gfx/inkscape-0.48.2 fails with many, many, many instances of the following error from variuous glib include files:

/usr/include/glib-2.0/glib/gtypes.h:28:2: error: #error "Only <glib.h> can be included directly."
/usr/include/glib-2.0/glib/gslist.h:28:2: error: #error "Only <glib.h> can be included directly."

I've found in other bug reports that the fix for this is to replace all glib/*.h includes with glib.h, as for example:

perl -pi -e 's#glib/g\w+.h#glib.h#' $(find . -name \*.c -o -name \*.h -o -name \*.cpp)

This eliminates the glib include warnings, but compile still fails with a different error:

color-profile.cpp: In function ‘bool isIccFile(const gchar*)’:
color-profile.cpp:707:30: error: ‘g_stat’ was not declared in this scope
color-profile.cpp:710:53: error: ‘g_open’ was not declared in this scope
color-profile.cpp: In static member function ‘static std::list<Glib::ustring> Inkscape::ColorProfile::getProfileFiles()’:
color-profile.cpp:769:17: error: ‘_’ was not declared in this scope
make[2]: *** [color-profile.o] Error 1
make[2]: *** Waiting for unfinished jobs....

I don't speak C++ and an unable to further diagnose this error.



Reproducible: Always

Steps to Reproduce:
1. This is actually a rebuild of inkscape with new flags:

[ebuild   R    ] media-gfx/inkscape-0.48.2  USE="lcms nls spell -debug -dia -gnome -inkjar -postscript% -wmf (-gs%)" 0 kB



babylon5:root:~:5 # emerge --info
Portage 2.1.10.49 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.14.1-r3, 3.4.2-gentoo-babylon5 x86_64)
=================================================================
System uname: Linux-3.4.2-gentoo-babylon5-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.1
Timestamp of tree: Mon, 18 Jun 2012 06:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p29
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.6-r2, 2.7.3-r2, 3.2.3
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r5
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.4.7, 4.5.3-r2, 4.6.3
sys-devel/gcc-config:     1.6
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r3
Repositories: gentoo perl-experimental overlay-dev-robbat2 mysql x-alaric
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -mcx16 -mpopcnt"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -mcx16 -mpopcnt"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.mcs.anl.gov/pub/gentoo                 ftp://mirror.iawnet.sandia.gov/pub/gentoo                 http://gentoo.cites.uiuc.edu/pub/gentoo                 http://gentoo.chem.wisc.edu/gentoo                 http://gentoo.osuosl.org                 http://www.gtlib.gatech.edu/pub/gentoo                 ftp://mirrors.rit.edu/gentoo                 http://mirrors.cs.wmich.edu/gentoo                 "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j12"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/perl-experimental /var/lib/layman/robbat2 /var/lib/layman/mysql /var/lib/alaric"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif ffmpeg firefox flac fltk fortran gdbm gif gpm gtk iconv id3tag imagemagick ipv6 java jpeg jpeg2k kde lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib mysql ncurses nls nptl nsplugin ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support qt4 readline sdl session speex spell sse sse2 ssl startup-notification svg tcpd theora threads tiff tk tools truetype udev udisks unicode upower usb utils v4l v4l2 vorbis wxwidgets x264 xcb xml xorg xpm xulrunner xv xvid zlib" ALSA_CARDS="emu10k1 hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Phil Stracchino (Unix Ronin) 2012-06-18 13:22:57 UTC
Created attachment 315665 [details]
Build log

omitted:

=================================================================
                        Package Settings
=================================================================

media-gfx/inkscape-0.48.2 was built with the following:
USE="lcms (multilib) nls spell -debug -dia -gnome -gs -inkjar -wmf"
CFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -fno-strict-aliasing"
CXXFLAGS="-O2 -march=amdfam10 -mfpmath=sse -pipe -fno-strict-aliasing"
Comment 2 Phil Stracchino (Unix Ronin) 2012-06-18 13:23:16 UTC
Created attachment 315667 [details]
Environment file
Comment 3 Rafał Mużyło 2012-06-18 13:43:08 UTC
The second phase problem comes most likely from your solution:
glib/gstdio.h is one of few headers independent from '#include <glib.h>'.
Comment 4 Till Schäfer 2012-06-18 19:00:53 UTC
i can confirm the first error (#error "Only <glib.h> can be included directly.")
Comment 5 Phil Stracchino (Unix Ronin) 2012-06-18 20:47:17 UTC
(In reply to comment #3)
> The second phase problem comes most likely from your solution:
> glib/gstdio.h is one of few headers independent from '#include <glib.h>'.

Thanks for that tip.  I tried again with a reduced set of headers (trying replacing only the glib/g*.h headers I find explicit errors for) and still encounter the error in color_profile.cpp.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2012-06-19 09:33:30 UTC
already fixed months ago

*** This bug has been marked as a duplicate of bug 412461 ***
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2012-06-19 09:38:55 UTC
You shouldn't be running ~arch version of dev-libs/glib in otherwise stable system unless you are planning on providing patches, filing proper stablereqs, see if it's already fixed in ~arch version of the failing package, and take all the rest necessary steps to keep the system maintainable & contribute it forward

Bug 417089 for stabilization of fixed version
Comment 8 Phil Stracchino (Unix Ronin) 2012-06-21 13:04:53 UTC
(In reply to comment #7)
> You shouldn't be running ~arch version of dev-libs/glib in otherwise stable
> system unless you are planning on providing patches, filing proper
> stablereqs, see if it's already fixed in ~arch version of the failing
> package, and take all the rest necessary steps to keep the system
> maintainable & contribute it forward
> 
> Bug 417089 for stabilization of fixed version

Thanks for the rreminder that it's time to clean out my keywords files.  :)

(I don't recall which package it was that recently demanded I upgrade glib to 2.32...)