Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 104613 - games-fps/quake2-icculus-0.16.1 fails to build with gcc-3.3
Summary: games-fps/quake2-icculus-0.16.1 fails to build with gcc-3.3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: x86 Linux
: High minor (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
: 111431 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-09-02 08:48 UTC by Paul Bredbury
Modified: 2005-11-03 17:40 UTC (History)
2 users (show)

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


Attachments
quake2-icculus-0.16.1.diff (quake2-icculus-0.16.1.diff,427 bytes, patch)
2005-09-20 17:43 UTC, Paul Bredbury
Details | Diff
changes escaping of the path variables (quake2-icculus-path.diff,1.85 KB, patch)
2005-11-02 16:28 UTC, Tuomas Suutari
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Bredbury 2005-09-02 08:48:09 UTC
The ebuild contains "BUILD_DEDICATED=YES \" instead of "BUILD_DEDICATED=$(yesno
dedicated) \"

This small fix allows the ebuild to compile by turning the "dedicated" USE flag
off, because with BUILD_DEDICATED=YES I get the compilation error:

gcc -Wall -pipe -Dstricmp=strcasecmp
-DDEFAULT_BASEDIR='\"/usr/share/games/quake2-data\"'
-DDEFAULT_LIBDIR='\"/usr/games/lib/quake2-icculus-qmax\"' -DQMAX -g
-DDEDICATED_ONLY -o releasei386/ded/q_shared.o -c src/game/q_shared.c
<command line>:5:18: missing terminating " character
<command line>:6:17: missing terminating " character
make[1]: *** [releasei386/ded/q_shared.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/quake2-icculus-0.16.1/work/quake2-r0.16.1'
make: *** [build_release] Error 2

!!! ERROR: games-fps/quake2-icculus-0.16.1 failed.
!!! Function src_compile, Line 103, Exitcode 2
!!! make failed


Reproducible: Always
Steps to Reproduce:
emerge quake2-icculus



Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130,
glibc-2.3.5-r1, 2.6.13-gentoo i686)
=================================================================
System uname: 2.6.13-gentoo i686 AMD Athlon(tm) XP 2800+
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk
ftp://mirrors.blueyonder.co.uk/mirrors/gentoo
http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/
ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/"
LANG="en_GB.UTF-8"
LC_ALL="en_GB.UTF-8"
LINGUAS="en"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow X aac aalib acpi alsa apache2 avi berkdb bitmap-fonts cdr crypt
curl dga directfb divx4linux dvd eds emboss encode fam flac foomaticdb fortran
gd gdbm gif gnome gnutls gpm gstreamer gtk gtk2 gtkhtml hal imagemagick imlib
java jpeg junit libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses nls
nvidia offensive ogg oggvorbis opengl pam pdflib perl png postgres python
quicktime readline samba scanner sdl slang speex sse ssl svga sysfs tcpd tetex
tiff truetype truetype-fonts type1-fonts unicode vorbis wifi win32codecs xine
xml2 xmms xv zlib linguas_en userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS
Comment 1 SpanKY gentoo-dev 2005-09-02 18:55:02 UTC
dedicated use flag is unrelated to your error
Comment 2 Wayne Powers, Jr. 2005-09-05 19:13:00 UTC
I'm having the same problems trying to emerge quake2-icculus. Make gives almost
the same output in the original report:

gcc -Wall -pipe -Dstricmp=strcasecmp -DHAVE_IPV6
-DDEFAULT_BASEDIR='\"/usr/share/games/quake2-data\"'
-DDEFAULT_LIBDIR='\"/usr/games/lib/quake2-icculus-qmax\"' -DQMAX
-I/usr/kde/3.4/include/artsc -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -g -DDEDICATED_ONLY -o releasei386/ded/q_shared.o -c
src/game/q_shared.c
<command line>:7:18: missing terminating " character
<command line>:8:17: missing terminating " character
make[1]: *** [releasei386/ded/q_shared.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/quake2-icculus-0.16.1/work/quake2-r0.16.1'
make: *** [build_release] Error 2


My emerge --info:

Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130,
glibc-2.3.5-r1, 2.6.12-gentoo-r10-superorc i686)
=================================================================
System uname: 2.6.12-gentoo-r10-superorc i686 AMD Opteron(tm) Processor 146
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="x86 3dnow X aac acpi aim alsa aotuv apm arts audiofile avi berkdb
bitmap-fonts browserplugin bzip2 cdparanoia cdr crypt cups curl divx4linux dv
dvd dvdr dvdread emboss encode exif fam ffmpeg flac foomaticdb fortran gd gdbm
gif glut gpm gstreamer gtk gtk2 hal icc icq ieee1394 imagemagick imap imlib ipv6
java jpeg kde kdeenablefinal libg++ libwww mad matroska mikmod mmx mng motif mp3
mpeg msn mysql ncurses nls nocd nsplugin nvidia offensive ogg oggvorbis openal
opengl oss pam pdflib perl png python qt quicktime readline real sdl sndfile
spell sse sse2 ssl svga tcltk tcpd theora tiff truetype truetype-fonts
type1-fonts usb videos vorbis win32codecs xine xml xml2 xmms xprint xv xvid zlib
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY


Comment 3 Paul Bredbury 2005-09-05 19:45:44 UTC
I'm unable to fix the compilation errors caused by the "dedicated" flag being
hard-coded to YES.  I found that adding this line to the ebuild, after the
"epatch" lines, helped:

sed -i "s/'/\"/g" Makefile

However, that gave rise to further nasty compilation errors.  I assume these
errors are appearing due to the increased strictness of gcc in recent versions.

I would imagine that 90% of emergers don't care about the "dedicated"
functionality (and would rather be able to compile the client, than none at
all), so I suggest that a new ebuild be released with my one-line patch.  Thanks.
Comment 4 xblaim 2005-09-17 11:38:16 UTC
Have the same problem... 

> I'm unable to fix the compilation errors caused by the "dedicated" flag being
> hard-coded to YES.  I found that adding this line to the ebuild, after the
> "epatch" lines, helped:
> 
> sed -i "s/'/\"/g" Makefile

appliyng this patch caused another error:

src/qcommon/files.c: In function `FS_InitFilesystem':
src/qcommon/files.c:903: error: syntax error before '/' token
src/qcommon/files.c:909: error: syntax error before '/' token
make[1]: *** [releasei386/client/files.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/quake2-icculus-0.16.1/work/quake2-r0.16.1'
make: *** [build_release] Error 2

!!! ERROR: games-fps/quake2-icculus-0.16.1 failed.
!!! Function src_compile, Line 104, Exitcode 2
!!! make failed
!!! If you need support, post the topmost build error, NOT this status message.

Comment 5 Mr. Bones. (RETIRED) gentoo-dev 2005-09-17 11:58:18 UTC
Seems like this bug might be related to gcc version.  It fails with gcc 3.3 but
builds fine with gcc 3.4.
Comment 6 xblaim 2005-09-17 14:28:20 UTC

You are right, thanks for tip

I' ve changed gcc-3.3.5 to 3.3.4 and now all is working fine
Comment 7 xblaim 2005-09-17 14:42:12 UTC
> I' ve changed gcc-3.3.5 to 3.3.4 and now all is working fine
br, mistake: I' ve changed gcc-3.3.5 to 3.4.4 and now all is working fine 


Comment 8 Wayne Powers, Jr. 2005-09-20 02:08:05 UTC
I keyworded gcc ~x86 and emerged gcc 3.4.4 and now it will emerge.
Comment 9 Paul Bredbury 2005-09-20 17:43:16 UTC
Created attachment 68896 [details, diff]
quake2-icculus-0.16.1.diff

I'd like to add a "me too" that it compiles with the "dedicated" USE flag on,
with gcc-3.4.4-r1.

Let's not forget that this bug report was started *because* the "dedicated" USE
flag is ignored. So, enclosed is the patch equivalent to my original request to
make the "dedicated" USE flag actually have an effect - happily being, fixing
the compilation problem for roughly 90% of gcc-3.3.6 users.
Comment 10 armand.karlsen_m 2005-09-22 08:54:07 UTC
I've been advised against updating gcc-3.3.6 to 3.4.4-r1, citing possible bad
voodoo with Gentoo. Am I going to end up breaking things if I change?
Comment 11 SpanKY gentoo-dev 2005-09-23 18:01:44 UTC
it doesnt fix anything, it ignores the problem
Comment 12 SpanKY gentoo-dev 2005-09-23 18:02:03 UTC
well, it fixes the 'ignores dedicated USE flag', but that's it
Comment 13 Paul Bredbury 2005-09-24 06:10:21 UTC
(In reply to comment #12)
> well, it fixes the 'ignores dedicated USE flag', but that's it

Is that not a good-enough reason to apply the patch? I'm confused.
Comment 14 Adrian Frühwirth 2005-09-24 06:14:02 UTC
it only treats the symptoms, not the problem itself
Comment 15 Chris Gianelloni (RETIRED) gentoo-dev 2005-09-24 06:25:47 UTC
We would still add the patch to enable/disable the dedicated support, but would
*also* like to actually fix the problem.  Otherwise, we'll have another bug 5
minutes later about "USE=dedicated quake2-icculus doesn't compile!"

There's no point in only half-fixing the problem.
Comment 16 Paul Bredbury 2005-09-24 16:58:12 UTC
*Compilation* with gcc 3.3.6 succeeds if these two patch lines in
quake2-icculus-0.16.1-gentoo-paths.patch are *not* applied:

BASE_CFLAGS += -DDEFAULT_BASEDIR='\"$(DEFAULT_BASEDIR)\"'
BASE_CFLAGS += -DDEFAULT_LIBDIR='\"$(DEFAULT_LIBDIR)\"'
Comment 17 SpanKY gentoo-dev 2005-09-25 01:27:01 UTC
what's your point ?
Comment 18 Algardas Pelakauskas 2005-10-21 06:42:43 UTC
Any news? I'm getting the same error and would be happy to start the dedicated
server..
Comment 19 Adomas Jackevicius 2005-10-22 16:27:08 UTC
Same problem here:

gcc -Wall -pipe -Dstricmp=strcasecmp -DHAVE_IPV6
-DDEFAULT_BASEDIR=''"/usr/share/games/quake2-data"''
-DDEFAULT_LIBDIR=''"/usr/games/lib/quake2-icculus-qmax"'' -DQMAX
-I/usr/kde/3.5/include/artsc -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -O2 -march=pentium4 -DLINUX_VERSION=''"3.21+r0.16"''
-DDEDICATED_ONLY -o releasei386/ded/net_udp.o -c src/linux/net_udp.c
gcc -Wall -pipe -Dstricmp=strcasecmp -DHAVE_IPV6
-DDEFAULT_BASEDIR=''\"/usr/share/games/quake2-data\"''
-DDEFAULT_LIBDIR=''\"/usr/games/lib/quake2-icculus-qmax\"'' -DQMAX
-I/usr/kde/3.5/include/artsc -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -g -DDEDICATED_ONLY -o releasei386/ded/q_shared.o -c
src/game/q_shared.c
<command line>:7:18: missing terminating " character
<command line>:8:17: missing terminating " character
make[1]: *** [releasei386/ded/q_shared.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/quake2-icculus-0.16.1/work/quake2-r0.16.1''
make: *** [build_release] Error 2
Comment 20 Tuomas Suutari 2005-11-02 16:28:39 UTC
Created attachment 71974 [details, diff]
changes escaping of the path variables

Could somebody try this patch (of the patch ;) )?
It solves the problem for me, and I'm using gcc-3.3.6.

Instructions:
1. cat quake2-icculus-path.diff | patch -p0 -d
/usr/portage/games-fps/quake2-icculus
2. ebuild /usr/portage/games-fps/quake2-icculus/quake2-icculus-0.16.1.ebuild
digest
3. emerge quake2-icculus
Comment 21 Paul Bredbury 2005-11-03 02:27:38 UTC
Hi, I confirm that the patch in comment #20 works, on x86 (athlon-xp), after
switching back from gcc 3.4.4 and running "ccache -C". Compilation succeeds, and
the dedicated server works with the client.
Comment 22 Chris Gianelloni (RETIRED) gentoo-dev 2005-11-03 10:29:39 UTC
Thanks for tha patch and also for testing it... Applied to CVS...
Comment 23 Mr. Bones. (RETIRED) gentoo-dev 2005-11-03 17:40:27 UTC
*** Bug 111431 has been marked as a duplicate of this bug. ***