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

Bug 292211

Summary: x11-libs/gtk+extra doesn't build against gtk+-2.18
Product: Gentoo Linux Reporter: Diego Elio Pettenò (RETIRED) <flameeyes>
Component: New packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: bugs.gentoo, kutagrob
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 302502    
Bug Blocks: 304777, 309347    
Attachments: Build log
Fixes error during compilation
New ebuild for release candidate with GTK 2.18 compatibility

Description Diego Elio Pettenò (RETIRED) gentoo-dev 2009-11-07 01:34:58 UTC
Portage 2.2_rc48 (default/linux/amd64/10.0, gcc-4.4.2-asneeded, glibc-2.11-r0, 2.6.32-rc6 x86_64)
=================================================================
System uname: Linux-2.6.32-rc6-x86_64-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Fri, 06 Nov 2009 14:00:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0_rc4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.64
sys-devel/automake:  1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.20.51.0.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=barcelona -O2 -ftracer -pipe -ftree-vectorize -floop-block -g -ggdb -Wstrict-aliasing=2 -Wno-format-zero-length -Wformat=2 -Wno-error -Wno-pointer-sign "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/init.d /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 /etc/udev/rules.d"
CXXFLAGS="-march=barcelona -O2 -ftracer -pipe -ftree-vectorize -floop-block -g -ggdb -Wno-error -Wformat=2 -Wstrict-aliasing=2 -fvisibility-inlines-hidden"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical --with-bdeps=n"
FEATURES="assume-digests autoaddcvs autoconfig collision-protect cvs distlocks fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign splitdebug unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-march=barcelona -O2 -ftracer -pipe -ftree-vectorize -g -ggdb"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common"
LINGUAS="en it"
MAKEOPTS="-j12 -s"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
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 --exclude=ChangeLog"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/media/repos/gentoo-x86-sync"
PORTDIR_OVERLAY="/var/spool/portage/overlays/cross /var/spool/portage/overlays/layman/x11 /var/spool/portage/overlays/layman/x11 /var/spool/portage/overlays/layman/tante_overlay /var/spool/portage/overlays/layman/emacs /var/spool/portage/overlays/layman/java-overlay /var/spool/portage/overlays/layman/ruby /var/spool/portage/overlays/layman/gnome /media/repos/flame/flame-overlay /media/repos/flame/gentoo/ruby-scripts/ruby-ng-testbed /var/spool/portage/overlays/java-experimental"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex 3dnowext S3TC a52 aac acl acpi4linux alsa amd64 apm audiofile avahi avi bluetooth bzip2 bzlib caps cdda cddb cdio cdr cjk cli crypt css cups custom-cflags custom-cxxflags dbus dlloader dnd dpms dri dts dvd dvdr dvdread emacs emboss fame ffmpeg flac foomaticdb gif gmp gnome gnome-keyring gnutls gpgme gphoto2 gtk gtk2 hal idn ieee1394 imlib imlib2 inotify ipv6 ithreads java5 java6 joystick jpeg kdehiddenvisibility latex libnotify lm_sensors lx700 lzw lzw-tiff maildir matroska midi mmx mmx2 mmxext mng modules mozsvg mp3 mpeg mpeg4 mpm-threadpool mudflap multilib native network-cron nls no_wxgtk1 noantlr nobcel nobeanutils nobsh nocommonslogging nocommonsnet nodrm nojdepend nojsch nojython nolog4j nomotif nooro noregexp norhino noxalan noxerces nptl nptlonly nsplugin ogg oggvorbis openmp pam pch pdf pdflib pic pmount png policykit ppds pppd pulseaudio qemu-fast reflection rtc session snmp speex spell spl sse sse2 ssl ssse3 startup-notification stencil-buffer subversion svg svgz sysfs syslog tetex theora threads tiff truetype truetype-fonts type1 type1-fonts udev uncompressed-sounds unicode usb userlocales utf8 v4l v4l2 vhosts vorbis wxwindows x11vnc xcb xcomposite xorg xpm xv xvid zeroconf zlib zsh-completion zvbi" ALSA_CARDS="hda-intel usb-audio mpu401 ice1712" ALSA_PCM_PLUGINS="iec958 plug ioplug hooks empty route asym 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 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" APACHE2_MPMS="prefork" CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en it" LIRC_DEVICES="kworld" QEMU_SOFTMMU_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19 jruby" SANE_BACKENDS="snapscan" USERLAND="GNU" VIDEO_CARDS="radeon" 
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-11-07 01:35:20 UTC
Created attachment 209497 [details]
Build log
Comment 2 Kirill Kutogribov 2009-11-10 09:39:27 UTC
Created attachment 209823 [details, diff]
Fixes error during compilation

I've written this patch which allows to compile successfully.

I have gtk+-2.18.3 installed and in header from this package(/usr/include/gtk-2.0/gtk/gtkentry.h):
x_n_bytes instead of n_bytes 
x_text_size instead of text_size

May be that would be helpful.
Comment 3 Romain Perier (RETIRED) gentoo-dev 2009-11-10 17:59:06 UTC
Your patch looks good, gtk+extra now builds with gtk+-2.18.3 but does it build with gtk+-2.16.6 ? (stable version)
Comment 4 Kirill Kutogribov 2009-11-10 20:11:27 UTC
No. It doesn't build with 2.16.6 with my patch. So another way of correction will be to downgrade from gtk+-2.18.3 to 2.16.6.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-01-21 00:08:07 UTC
Fix sounds quite simple, in /usr/include/gtk-2.0/gtk/gtkitem.h:
  /*< private >*/
[...]
  guint16       GSEAL (x_text_size);                /* allocated size, in bytes */
  guint16       GSEAL (x_n_bytes);                  /* length in use, in bytes */

so these fields are private and were renamed. Since gtk+extra has had no release since 2005 I wonder if we really want to keep it alive. What do you think guys ?
Comment 6 Daniel Gryniewicz (RETIRED) gentoo-dev 2010-01-22 13:17:34 UTC
I'd prefer to kill it, but 2 packages depend on it: dev-embedded/gpsim (unconditionally, marked as unmaintained) and dev-php5/php-gtk (optionally, also unmaintained, last touched by us).  I've added Samuli for comment, as he last touched gpsim.
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2010-02-09 15:08:09 UTC
(In reply to comment #6)
> I'd prefer to kill it, but 2 packages depend on it: dev-embedded/gpsim
> (unconditionally, marked as unmaintained) and dev-php5/php-gtk (optionally,
> also unmaintained, last touched by us).  I've added Samuli for comment, as he
> last touched gpsim.
> 

Sorry for late response. 

gpsim is widely used package, but it's main purpose is the command-line interface and libraries, so don't kill the package, if you must, kill the "gtk" USE flag anytime you wish
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2010-02-09 15:50:28 UTC
Did it myself :)

+  09 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> gpsim-0.24.0.ebuild:
+  Remove broken and optional GUI wrt #292211.

And it's going stable wrt bug 302502
Comment 9 Pacho Ramos gentoo-dev 2010-02-18 14:29:12 UTC
What is the plan on this then? gtk+extra removal or fixing? For fixing it, maybe would be interesting to look at fedora's patch ;-)
http://cvs.fedoraproject.org/viewvc/devel/gtk%2Bextra/gtk%2Bextra-2.1.1-gtk2.18.patch?revision=1.1&content-type=text/plain&view=co
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2010-02-18 15:21:46 UTC
(In reply to comment #9)
> What is the plan on this then? gtk+extra removal or fixing? For fixing it,
> maybe would be interesting to look at fedora's patch ;-)
> http://cvs.fedoraproject.org/viewvc/devel/gtk%2Bextra/gtk%2Bextra-2.1.1-gtk2.18.patch?revision=1.1&content-type=text/plain&view=co
> 

Sigh!

If you decide to fix it, don't forget to open a bug against gpsim to reintroduce the USE="gtk" flag.
Comment 11 Pacho Ramos gentoo-dev 2010-02-21 17:42:03 UTC
Masked for removal finally as talk on IRC with Remi

I also dropped extra USE flag on dev-php5/php-gtk and seems that gpsim was already fixed by Samuli
Comment 12 Robert Pearce 2010-03-10 18:34:21 UTC
GPSim is NOT mainly used for command line! And it's not dead by any means!

The owner of GPSim upstream (Roy Rankin) has been in contact with the owner of GTK+extra upstream to get himself the access needed to produce the bug fix release. In the mean time, Fedora has a patch against 2.1.1 to make it compatible with GTK2.18 and it would be a great shame if Gentoo ruled itself out of convenience for PIC developers over such trivia. PLEASE DO NOT REMOVE GTK+EXTRA. Fix it instead, or at least keep alive until Roy manages to either fix upstream or fork the bits GPSim needs.
Comment 13 Robert Pearce 2010-03-14 08:36:05 UTC
The upstream CVS for gtk+-extra now contains a release candidate for 2.1.2 which fixes all the known bugs and builds against GTK+ 2.18

Please reinstate this new version ASAP
Comment 14 Rémi Cardona (RETIRED) gentoo-dev 2010-03-14 09:45:14 UTC
Please send us an updated ebuild with confirmation that it works for you.

Thanks
Comment 15 Robert Pearce 2010-03-21 09:30:37 UTC
Created attachment 224477 [details]
New ebuild for release candidate with GTK 2.18 compatibility

Here's an ebuild that works for me. I have tested against both GTK2.16 and GTK2.18 and against as-installed and re-built GPSim.

Two notes:
- the ebuild is marked unstable (~x86)
- it calls up the release candidate tarball. Once the proper release is available upstream the URL needs the "rc" removed from after {P}. The release is expected by Wednesday.
Comment 16 Joop Stakenborg 2010-03-23 08:29:02 UTC
The release candidate has been removed from sourceforge, the latest is now gtk+extra-2.1.2.tar.gz

Builds fine here with gtk+-2.18.7
Comment 17 Pacho Ramos gentoo-dev 2010-03-27 11:04:48 UTC
+*gtk+extra-2.1.2 (27 Mar 2010)
+
+  27 Mar 2010; Pacho Ramos <pacho@gentoo.org> -gtk+extra-2.1.1.ebuild,
+  -gtk+extra-2.1.1-r1.ebuild, -gtk+extra-2.1.1-r2.ebuild,
+  +gtk+extra-2.1.2.ebuild:
+  Version bump including gtk+-2.18 and SIGSEGV fixes, documentation added.
+  Thanks to Robert Pearce and Joop Stakenborg in bug 292211 for their
+  investigation regarding upstream updates. This also sets GCONF_DEBUG=no
+  due to missing --enable-debug configure option. Cleaning old versions

And sorry for the delay, but gnome team is a bit overloaded.