Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 209341 - x11-misc/xscreensaver-5.04 refuses to build on amd64 boxes
Summary: x11-misc/xscreensaver-5.04 refuses to build on amd64 boxes
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Samuli Suominen (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-08 12:21 UTC by Subhro Kar
Modified: 2008-02-14 13:09 UTC (History)
3 users (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 Subhro Kar 2008-02-08 12:21:56 UTC
XScreensaver 5.04 does not build on amd64 with gtk+-2.12.7. Also tried with 5.02. The installation halts at exactly the same place. It can be seen in the URL posted above.

Reproducible: Always

Steps to Reproduce:
1. emerge -av xscreensaver
2.
3.

Actual Results:  
FAULT_PATH_PREFIX='"/usr/lib/misc/xscreensaver"' -I./../utils/images \
	  -DHAVE_CONFIG_H -DDEFAULT_ICONDIR='"/usr/share/xscreensaver/glade"' -DLOCALEDIR=\"/usr/share/locale\" -O2 -pipe -march=nocona -U__VEC__ -I/usr/include \
	  ./demo-Gtk.c
In file included from /usr/include/gtk-2.0/gtk/gtkactiongroup.h:34,
                 from /usr/include/gtk-2.0/gtk/gtk.h:38,
                 from ./demo-Gtk.c:85:
/usr/include/gtk-2.0/gtk/gtkitemfactory.h:50: warning: function declaration isn't a prototype
./demo-Gtk.c: In function 'force_list_select_item':
./demo-Gtk.c:1130: error: expected expression before 'do'
make[1]: *** [demo-Gtk.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-misc/xscreensaver-5.04/work/xscreensaver-5.04/driver'
make: *** [default] Error 5
 * 
 * ERROR: x11-misc/xscreensaver-5.04 failed.
 * Call stack:
 *                  ebuild.sh, line 1701:  Called dyn_compile
 *                  ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *                  ebuild.sh, line   44:  Called src_compile
 *   xscreensaver-5.04.ebuild, line   89:  Called die
 * The specific snippet of code:
 *   	emake -j1 || die "emake failed."
 *  The die message:
 *   emake failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-misc/xscreensaver-5.04/temp/build.log'.
 *


root@localhost bsdboy $ emerge --info
Portage 2.1.3.19 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.23-gentoo-r6 x86_64 Intel(R) Core(TM)2 CPU T5300 @ 1.73GHz
Timestamp of tree: Fri, 08 Feb 2008 05:30:01 +0000
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/desktop-effects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 arts bash-completion berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif glitz gnome gphoto2 gpm gstreamer gtk gtk2 hal iconv ipod isdnlog jpeg kerberos ldap libnotify mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly nvidia ogg opengl openmp oss pam pcre pdf perl png pppd python qt3support quicktime readline reflection sdl session spell spl sse sse2 ssl svg tcpd tiff truetype truetype-fonts type1 type1-fonts unicode vorbis xml xorg xv 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 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Mart Raudsepp gentoo-dev 2008-02-08 13:16:41 UTC
xscreensaver has an "interestingly" named macro called "STFU", and it sticks that in front of a g_assert on the referenced line (drivers/demo-Gtk.c line 1130).

STFU expands to __extension__, to shut up pedantic warnings or something, but g_assert expands to "do ... while ..." stuff, which doesn't like __extension__ in front of that, it seems. In addition g_assert macro is already wrapped around G_STMT_START and G_STMT_END, which is supposed to already take care of adding __extension__ on system and toolchain where that is appropriate. I believe just removing that STFU in front of g_assert on that line would fix that particular build failure.
Reassigning to xscreensaver maintainers, as I'm sure it's a xscreensaver bug (rather than gtk+ or something else)
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2008-02-12 14:09:17 UTC
Upstream:

<snip snip>

I suppose taking out that one STFU is the right fix, though I'm told  
that __extension__ no longer quiets the warning about string length,  
which means there will now be spurious warnings all over  
xscreensaver's build log, and I have no idea how to fix that.

</snip snip>
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2008-02-14 13:09:17 UTC
Thanks, should be fixed in 5.04-r1.