Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 428532 - app-admin/gkrellm-2.3.5-r1 fails to compile with /usr/lib/libgmodule-2.0.so.0: could not read symbols: Invalid operation
Summary: app-admin/gkrellm-2.3.5-r1 fails to compile with /usr/lib/libgmodule-2.0.so.0...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Jim Ramsay (lack) (RETIRED)
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2012-07-29 16:57 UTC by Chema
Modified: 2012-12-22 18:32 UTC (History)
2 users (show)

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


Attachments
build.log (build.log,20.06 KB, text/plain)
2012-07-29 16:59 UTC, Chema
Details
build.log - gcc 4.5.3 (build.log,17.30 KB, text/plain)
2012-07-30 19:59 UTC, Chema
Details
patch to fix linking error (gkrellm-2.3.5-libgmodule.patch,1.09 KB, patch)
2012-08-30 03:32 UTC, Alexandre Rostovtsev (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chema 2012-07-29 16:57:57 UTC
Gkrellm fails to compile with error:

/usr/lib/libgmodule-2.0.so.0: could not read symbols: Invalid operation

Reproducible: Always




emerge --info
Portage 2.1.11.9 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.15-r2, 3.4.4-gentoo x86_64)
=================================================================
System uname: Linux-3.4.4-gentoo-x86_64-Intel-R-_Core-TM-_i5-2300_CPU_@_2.80GHz-with-gentoo-2.1
Timestamp of tree: Sun, 29 Jul 2012 15:15:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.5-r1, 1.11.6, 1.12.2
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.5 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo pcsx2 lcd-filtering Chema-s-Overlay
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /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=native -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ http://darkstar.ist.utl.pt/gentoo http://ftp.udc.es/gentoo/snapshots/ http://www.gtlib.gatech.edu/pub/gentoo http://gentoo.virginmedia.com/ ftp://gentoo.virginmedia.com/sites/gentoo"
LANG="es_ES.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="es es_ES"
MAKEOPTS="-j5"
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/pcsx2 /var/lib/layman/lcd-filtering /usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr avx berkdb branding bzip2 cairo cdda cddb cdparanoia cdr cli consolekit cracklib crypt cups cxx dbus desktopglobe djvu dri dts dvd dvdr dvdread emboss enca encode exif fam ffmpeg firefox flac foomaticdb fortran gif glib hddtemp iconv imagemagick ipv6 java java6 jpeg kde lcdfilter lcms libnotify lm_sensors mad matroska mmx mmxext mng modules mp2 mp3 mp4 mpeg mplayer mudflap multilib musepack nls nptl nptlonly ogg opengl openmp oss pam pango pcre pdf png policykit ppds pppd qt3support qt4 quicktime rar raw readline samba schroedinger sdl semantic-desktop session spell sse sse2 sse3 sse4 ssl ssse3 startup-notification svg tcpd theora threads tiff truetype udev udisks unicode upower usb vdpau vim-syntax vorbis wxwidgets x264 xcb xcomposite xft xine xml xosd xpm xv xvid zip zlib" ALSA_CARDS="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" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="canon 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es es_ES" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" 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 Chema 2012-07-29 16:59:20 UTC
Created attachment 319614 [details]
build.log
Comment 2 Pacho Ramos gentoo-dev 2012-07-30 18:19:55 UTC
It's not a glib-2.32 problem, something is broken (or different) in your system, like gcc-4.6 usage, ld.gold...
Comment 3 Chema 2012-07-30 19:59:06 UTC
Created attachment 319778 [details]
build.log - gcc 4.5.3

The error is exactly the same with gcc 4.5.3 and i don't have a clue of what ld.gold is, so i don't think i've changed something of it.

Any other idea?

Thanks.
Comment 4 Chema 2012-08-23 22:22:57 UTC
I've found the culprit, it's binutils (or the gkrellm ebuild), the last working version being 2.21.1-r1

So this bug appears in version 2.22 of binutils, but probably the one at fault is the gkrellm ebuild.

I found some information here: http://slackblogs.blogspot.com.es/2012/06/strange-bug-caused-by-automake.html?showComment=1340383070109#c7954523246123430901
Comment 5 Jim Ramsay (lack) (RETIRED) gentoo-dev 2012-08-30 00:12:08 UTC
gkrellm builds fine for me with binutils-2.22.90 and gcc-4.5.3

Can you please post your output to the following command:

   pkg-config --libs gtk+-2.0 gthread-2.0
Comment 6 Chema 2012-08-30 01:13:25 UTC
# pkg-config --libs gtk+-2.0 gthread-2.0

-pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0
Comment 7 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-08-30 02:00:36 UTC
This is a bug in gkrellm's build system.

Anything that uses symbols from libgmodule-2.0 should explicitly link to libgmodule-2.0. Gkrellm authors failed to do so, and instead relied on indirect dependencies pulled in by gtk+'s pkgconfig files to sort out the linking for them.

Well, for a long time gnome developers have been tightening up their pkgconfig files and removing unnecessary dependencies. In particular, gmodule-2.0 was removed from gdk-pixbuf-2.0.pc's Required line in gdk-pixbuf-2.24, and from pango-*.pc's Required lines in pango-1.30. So for ~arch users, "pkg-config --libs gtk+-2.0 gthread-2.0" no longer gives you gmodule-2.0, and gkrellm fails to link.
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-08-30 03:32:54 UTC
Created attachment 322541 [details, diff]
patch to fix linking error

This patch fixes the linking error.

I've also submitted it upstream via email to the primary author and to the lists.netservicesgroup.com mailing list.
Comment 9 Christoph Junghans (RETIRED) gentoo-dev 2012-12-22 18:32:13 UTC
Patch included in gkrellm-2.3.5-r2.