Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286148 - gnome-base/gdm-2.20.9-r1: fails with gdk-pixbuf-csource: Couldn't recognize the image file format for file png
Summary: gnome-base/gdm-2.20.9-r1: fails with gdk-pixbuf-csource: Couldn't recognize t...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-23 20:59 UTC by John Masinter
Modified: 2009-10-16 19:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Masinter 2009-09-23 20:59:25 UTC
Summary:

emerge of gdm-2.20.10-r2 fails with gdk-pixbuf-csource error :
failed to load "./preferences-desktop-locale.png": Couldn't recognize the image file format for file './preferences-desktop-locale.png'

-Following another bug report, I rebuilt libpng and gtk+. No change, same error.
-I stepped back to version gdm-2.20.9-r1. No change, same error.

Everything was fine. I added the xinerama use flag to my make.conf and rebuilt all the pkgs that referrenced it. My system is very current ~x86, so most packages were replace "R" and very few were update "U".

There have been several bugs with this exact error message from gdm build. None of them have gotten to the root of the issue. Maybe we can solve it. Any help appreciated.

=================================================================
>>> Emerging (1 of 4) gnome-base/gdm-2.20.10-r2
 * gdm-2.20.10.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                   [ ok ]
 * gentoo-gdm-theme-r3.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...           [ ok ]
 * gdm-2.20.9-gentoo-files-r1.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...    [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
...
...<snip>...
...
make[3]: Entering directory `/var/tmp/portage/gnome-base/gdm-2.20.10-r2/work/gdm-2.20.10/pixmaps/24x24'
gdk-pixbuf-csource --raw --build-list preferences_desktop_locale_24 ./preferences-desktop-locale.png preferences_d
esktop_remote_desktop_24 ./preferences-desktop-remote-desktop.png system_log_out_24 ./system-log-out.png system_re
start_24 ./system-restart.png system_shut_down_24 ./system-shut-down.png system_suspend_24 ./system-suspend.png us
er_desktop_24 ./user-desktop.png > inlines.h
failed to load "./preferences-desktop-locale.png": Couldn't recognize the image file format for file './preference
s-desktop-locale.png'
make[3]: *** [inlines.h] Error 1
make[3]: Leaving directory `/var/tmp/portage/gnome-base/gdm-2.20.10-r2/work/gdm-2.20.10/pixmaps/24x24'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gnome-base/gdm-2.20.10-r2/work/gdm-2.20.10/pixmaps'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gnome-base/gdm-2.20.10-r2/work/gdm-2.20.10'
make: *** [all] Error 2
 * 
 * ERROR: gnome-base/gdm-2.20.10-r2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2954:  Called gnome2_src_compile
 *             environment, line 2184:  Called die
 * The specific snippet of code:
 *       emake || die "compile failure"
 *  The die message:
 *   compile failure


=================================================================
cookie:1:jmasinter:~:$ emerge --info
Portage 2.1.6.13 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.10.1-r0, 2.6.30.5 i686)
=================================================================
System uname: Linux-2.6.30.5-i686-Intel-R-_Core-TM-2_CPU_T5600_@_1.83GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 15 Sep 2009 13:00:03 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 1.3.7-r1, 2.1.9
dev-lang/python:     2.5.4-r3, 2.6.2-r1, 3.1.1
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.1
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /var/bind"
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/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=i686 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS=""
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 avi bash-completion berkdb bitmap-fonts bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dlloader dns dri dts dvd dvdr eds emerald encode evo exif fam firefox flac gdbm gif gimp gimpprint gnome gpm gstreamer gtk hal iconv isdnlog jpeg ldap libg++ libnotify mad midi mikmod mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf pdflib perl png ppds pppd python qt3support quicktime readline reflection scanner sdl session spell spl ssl startup-notification svg sysfs tcpd thunar tiff truetype truetype-fonts type1-fonts udev unicode usb virtualbox vorbis win32codecs x264 x86 xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="peruser prefork worker" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse virtualbox" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="vesa fbdev intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY



Reproducible: Always

Steps to Reproduce:
1. emerge gdm
2.
3.
Comment 1 John Masinter 2009-09-25 01:08:42 UTC
SOLVED!

SUMMARY: emerge librsvg gdm

DETAIL:
Since the build failed while using gdk-pixbuf-csource utility from gtk+ I looked into that some more. This util loads code for different graphics file formats from the below loaders dir.

# ls -al /usr/lib/gtk-2.0/2.10.0/loaders
...<snip>...

# gdk-pixbuf-query-loaders
...<snip>...
g_module_open() failed for /usr/lib/gtk-2.0/2.10.0/loaders/svg_loader.so: /usr/lib/libxcb-xlib.so.0: undefined symbol: _xcb_lock_io

So investigating further, of all the loaders in loaders dir above, only svg is provided by a package outside of gtk+. Bug #46888 gave this hint, and suggestion to rebuild librsvg to correct this. Whola!
Comment 2 Mart Raudsepp gentoo-dev 2009-09-28 23:12:53 UTC
You were trying to open a PNG file originally though, not a SVG..
Comment 3 David W Noon 2009-10-16 17:59:09 UTC
This problem still persists, and the solution suggested here is, I'm afraid, totally specious.

I have found that gdk-pixbuf-csource works just fine as a non-root user, but fails when run as root. The cause of this proved to be that the program scans /usr/share/mime/mime.cache when run as non-root, but not when run as root. As a work-around, I created a symlink for this file in /root/.local/share/mime/; but this is just a quick kludge.

I can upload the 2 strace logs that produced this diagnosis [and produced the kludge that made gdk-pixbuf-csource work].

The correct solution is to fix gdk-pixbuf-csource so that it scans all the appropriate mime.cache files, regardless of which users runs the utility.
Comment 4 David W Noon 2009-10-16 19:48:55 UTC
(In reply to comment #3)
> The correct solution is to fix gdk-pixbuf-csource so that it scans all the
> appropriate mime.cache files, regardless of which users runs the utility.

After some more research, I have found out why the /usr/share directory is omitted: it had been removed from one of the /etc/env.d files that assign the XDG_DATA_DIRS environment variable. In my case, it was 90xdg-data-base. Once I had corrected that file and performed env-update, all was working properly again.