Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 394963 - www-client/opera-11.60.1185: Using a gtk3 application as mime-type, protocol, ... handler crashes the handler with „GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported”
Summary: www-client/opera-11.60.1185: Using a gtk3 application as mime-type, protocol,...
Status: RESOLVED DUPLICATE of bug 363387
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-16 18:13 UTC by Christian Aistleitner
Modified: 2011-12-17 13:55 UTC (History)
1 user (show)

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


Attachments
Opera ebuild allowing gtk3 handlers (opera-11.60.1185.ebuild,5.74 KB, text/plain)
2011-12-16 18:20 UTC, Christian Aistleitner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Aistleitner 2011-12-16 18:13:05 UTC
The current ebuild www-client/opera-11.60.1185 does not allow the use of gtk3 applications to handle mime-types, protocols, ... -- even when compiled with gtk3 use flag.



Reproducible: Always

Steps to Reproduce:
1. emerge opera evince
2. Start opera using the provided launcher script /usr/bin/opera
3. Navigate to http://dev.gentoo.org/~dberkholz/stateofgentoo.pdf
4. In the dialog box, select „Document Viewer” (i.e.: evince) in the “Open with:” combo box.
5. Hit “Open”
Actual Results:  
Evince crashes even before visibly coming up. The line

  evince[4730] trap int3 ip:7f7d7670ac09 sp:7fff5259b5b0 error:0

gets added to the syslog.

Expected Results:  
Evince showing the pdf.

Putting strace between opera and evince, shows that the actual error message is

  Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

The culprit is line 174 (i.e.:
  echo 'export LD_PRELOAD="/usr/'$(get_libdir)'/libgtk-x11-2.0.so"' >> ${PN}
) in the ebuild file.
While the above line seems to fix bug #375939 for some, preloading this GTK+2 shared object, introduces GTK+2 symbols, for /all/ users for /any/ external program started by opera.

Hence any GTK+3 application started by opera (mime-handler, protocol-handler, ...) crashes.


After removing line 174 (i.e.:
  echo 'export LD_PRELOAD="/usr/'$(get_libdir)'/libgtk-x11-2.0.so"' >> ${PN}
) from the ebuild, and rebuilding, opera can launch GTK+3 applications without any problems.


Portage 2.1.10.40 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r1, 2.6.38-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.38-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7_CPU_870_@_2.93GHz-with-gentoo-2.1
Timestamp of tree: Fri, 16 Dec 2011 15:15:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.7-r2, 2.7.2-r3, 3.1.4-r3, 3.2.2
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.7
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/X11/xdm/Xsetup_0 /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gd.tuwien.ac.at/opsys/linux/gentoo/ http://gentoo.wheel.sk/ http://gentoo.mirror.dkm.cz/pub/gentoo/ http://gentoo.supp.name/"
LANG="de_AT.UTF-8"
LC_ALL="de_AT.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/temp/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"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow X Xaw3d a52 aac aalib accessibility acl acpi aim alsa amd64 amr amrnb amrwb apache2 apm audacious audiofile avi berkdb bitmap-fonts bluetooth bonobo bzip2 cairo cardclient cdb cdr cli conax constcw cpdflib cracklib crypt ctype cups cxx dbus de_tvtoday dga dio divx4linux djvu doc dri dts dvb dvd dvdnav dvdr dvdread dvi emacs encode evo exif fam ffmpeg flac foomaticdb freetype ftp gb gdbm gif gimp gimpprint gmp gnome gnutls gpm graphviz gs gstreamer gtk gtk2 gtkhtml iconf iconv icq imagemagick imap imlib irdeto jabber java javascript joystick jpeg jpeg2k junit lcms ldap libcaca libnotify lirc lm_sensors mad maildir matrox mcal mikmod mime mmx mng modules motif mp2 mp3 mpeg msn mudflap mule multilib mysql mysqli nagra nautilus ncurses nls nocd nptl nptlonly offensive ogg openal opengl openmp oscar pam pcre pdf pdflib plotutils png posix postgres ppds pppd quicktime readline recode samba sc sdl seca session setup-plugin shl slang slp sndfile sockets softcsa sound speex spell sse sse2 ssl submenu subtitles svg sysfs sysvipc tcpd tetex theora tidy tiff tk truetype truetype-fonts type1-fonts udev unicode update usb v4l v4l2 vfat viaccess vorbis wmf x264 xattr xft xinerama xml xml2 xorg xosd xpm xsl xv xvid yaepg yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 cgi 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" CALLIGRA_FEATURES="kexi words flow plan 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 wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" SANE_BACKENDS="plustek epson epson2" USERLAND="GNU" VIDEO_CARDS="radeon s3virge 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, INSTALL_MASK, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-16 18:18:32 UTC

*** This bug has been marked as a duplicate of bug 375939 ***
Comment 2 Christian Aistleitner 2011-12-16 18:20:36 UTC
Created attachment 296065 [details]
Opera ebuild allowing gtk3 handlers
Comment 3 Christian Aistleitner 2011-12-16 18:40:01 UTC
(In reply to comment #1)
> *** This bug has been marked as a duplicate of bug 375939 ***

I am not convinced, that the bugs are duplicates.

Bug #375939 is about getting flash to work. There, it's not even clear if the PRELOAD line works or applies. The bug is in unconfirmed state.

Bug #394963 is about getting some artificial dependence on GTK+2 out of the way to allow GTK+3 handlers.

Once bug #375939 is resolved, they might block each other. But the issues of the bugs are different. Hence, they are not duplicates
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-17 13:45:28 UTC
Comment on attachment 296065 [details]
Opera ebuild allowing gtk3 handlers

--- opera-11.60.1185.ebuild     2011-12-12 00:12:59.000000000 +0100
+++ -   2011-12-17 14:44:47.274524180 +0100
@@ -171,7 +171,6 @@
        echo 'export OPERA_DIR="/usr/share/'"${PN}"'"' >> ${PN}
        echo 'export OPERA_PERSONALDIR=${OPERA_PERSONALDIR:-"${HOME}/.'${PN}'"}' \
                >> ${PN}
-       echo 'export LD_PRELOAD="/usr/'$(get_libdir)'/libgtk-x11-2.0.so"' >> ${PN}
        echo 'exec '"${OPREFIX}/${PN}/${PN}"' "$@"' >> ${PN}
 
        # Change libz.so.3 to libz.so.1 for gentoo/freebsd
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-17 13:55:28 UTC
# ChangeLog for www-client/opera
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.679 2011/12/17 13:52:31 jer Exp $

  17 Dec 2011; Jeroen Roovers <jer@gentoo.org> opera-11.60.1185.ebuild:
  Revert LD_PRELOAD hack (bug #394963).

*** This bug has been marked as a duplicate of bug 363387 ***