Bug 93880 - quakeforge console_client fails when built with gcc-3.4.x
Bug#: 93880 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Other Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: games@gentoo.org Reported By: xero@xeron.cc
Component: Games
URL:  http://www.quakeforge.net
Summary: quakeforge console_client fails when built with gcc-3.4.x
Keywords:  
Status Whiteboard: 
Opened: 2005-05-24 21:36 0000
Description:   Opened: 2005-05-24 21:36 0000
I'm not too sure about the specifics of this problem. I've tried re-emerging
with a few different settings, even trying a cvs snapshot, to no avail.
Basically when I start up quakeforge I get this along with it's normal output: 

Could not load plugin "/usr/games/lib/quakeforge/console_client.so".

which, doesn't stop the game from loading however pressing escape or ~ to bring
up the console or menu doesn't do a thing, leaving you with the demo going but
inability to start a game, or what not. This is with nq-sdl and nq-sgl. When I
use nq-glx, which is the client I normally use, I get this:
Inconsistency detected by ld.so: ../sysdeps/generic/dl-tls.c: 75:
_dl_next_tls_modid: Assertion `result <= _rtld_local._dl_tls_max_dtv_idx'
failed!

which is obviously related to TLS, I'm guessing because I now run nptlonly. Not
too sure if this would cause the first problem as well but it's obvious
quakeforge has some issues. It appears their mailing lists are down and
development has pretty halted too...anyway here's emerge info

Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.3-20050110,
glibc-2.3.5-r0, 2.6.11-ck7-r1 i686)
=================================================================
System uname: 2.6.11-ck7-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.6.12
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.8
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.5
sys-devel/binutils:  2.16
sys-devel/libtool:   1.5.18
virtual/os-headers:  2.6.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -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=pentium4 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo
http://gentoo.mirrors.tds.net/gentoo
ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/
http://gentoo.oregonstate.edu"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi alsa apm artworkextra avi bitmap-fonts cdr crypt cups
curl dvd dvdr emboss encode esd fam ffmpeg flac foomaticdb fortran gdbm gif
gimpprint gnome gpm gstreamer gtk gtk2 guile imagemagick ipv6 java jpeg libg++
libwww lirc mad mikmod mmx mmx2 mozilla mp3 mpeg ncurses network nls nptl
nptlonly nvidia offensive ogg oggvorbis opengl oss pam pango pdflib perl png
ppds python quicktime readline real rtc samba sdl slang spell sse sse2 ssl
tcltk tcpd tiff truetype truetype-fonts type1-fonts userlocales v4l v4l2 vorbis
win32codecs xine xinerama xml2 xv xvmc zlib userland_GNU kernel_linux
elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

------- Comment #1 From Kerin Millar 2005-07-04 14:11:52 0000 -------
I have this problem too (using gcc-3.4.4). A poster in the forums also
encountered the issue using a gcc-3.4.3 release and fixed it by instead building
with gcc-3.3.4. So this problem does appear to be related to the use of
=gcc-3.4.*. Unfortunately, I don't know of a solution other than the
aformentioned workaround ...

------- Comment #2 From Jordan 2005-07-04 14:19:54 0000 -------
Well, it might be worth a shot to email the quakeforge guys but the project
seems pretty inactive. All that's really needed is a patch to fix compilation on
3.4.x.

------- Comment #3 From Jordan 2005-07-04 14:34:48 0000 -------
http://www.freebsd.org/cgi/query-pr.cgi?pr=70331

i think I may have found a fix here though the patch applies to the bsd ports
system and I have to figure out which part is relevant..

------- Comment #4 From Jordan 2005-07-04 14:40:12 0000 -------
hrmm, i just rebuilt quakeforge with --enable-shared=no --enable-static=yes and
now it's working. I'm going to rebuild again without that to make sure that was
actually the thing that fixed it.

------- Comment #5 From Kerin Millar 2005-07-04 14:47:09 0000 -------
Well, that would make sense as it does appear to be a runtime linking error. I
wonder how drastically that would affect the "working set" of the binaries?
Hopefully not to a great extent.

------- Comment #6 From Jordan 2005-07-04 14:55:52 0000 -------
recompiling without that and it broke, so this does fix it. Oh yeah it also
fixed my issue with nq-glx.

This is definitely more of a workaround than anything but it gets it working and
that's good enough for me.

------- Comment #7 From Kerin Millar 2005-07-04 18:50:35 0000 -------
OK, I believe I have a much less drastic (but equally effective) solution for
this and that's simply to build using the --with-static-plugins option. No need
to render the whole thing static. I will attach a proposed ebuild. Jordan, would
you be so kind as to quickly test this on your setup? Other than that, I think
this should be committed as soon as reasonably possible.

------- Comment #8 From Kerin Millar 2005-07-04 18:52:43 0000 -------
Created an attachment (id=62635) [details]
games-fps/quakeforge-0.5.5-r1.ebuild

Compiles plugins statically to avoid dynamic runtime linking issues with newer
compilers and the all-important console plug-in in particular.

------- Comment #9 From Jordan 2005-07-06 16:03:34 0000 -------
That worked fine. Both console and *-glx are working.

------- Comment #10 From SpanKY 2005-07-09 17:55:45 0000 -------

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

------- Comment #11 From Jordan 2005-08-19 11:26:49 0000 -------
52374 is fixed however this bug is not fixed. 52374 fixed the issue with nq-glx
that I was having, however this was apparently a separate issue. The
console_client.so problem is still there.

------- Comment #12 From Haplo 2005-09-28 10:18:37 0000 -------
This also fixed it for me.  Since it looks unlike the upstream will do anything
why not push this ebuild?

------- Comment #13 From Jakub Argasinski 2005-10-18 03:44:34 0000 -------
Created an attachment (id=70919) [details]
Patch for console_client.so problem, WFM

I've created this small patch, which solves problem for me, but I guess it
needs to be applied wisely, ie. I don't know if it doesn't break things with
gcc-3.3.x; it should be handled in .ebuild I guess. Test it by yourself, WFM.

------- Comment #14 From SpanKY 2005-12-22 15:59:16 0000 -------
*** Bug 116393 has been marked as a duplicate of this bug. ***

------- Comment #15 From David Turner 2006-07-23 11:32:20 0000 -------
Bug 127790 is a duplicate of this bug.

The patch in that bug is effectively identical to that in
comment #13.

Using 0.5.5-keys.patch from Bug 127790, I have created
a working quakeforge overlay.

I have tested this and it builds and runs and the keyboard then works, as
several dead ogres will testify. :-)

I am attaching this overlay.

IMHO, this should be commited to CVS as quakeforge is broken without it.

------- Comment #16 From David Turner 2006-07-23 11:34:04 0000 -------
Created an attachment (id=92566) [details]
portage overlay for quakeforge

------- Comment #17 From David Turner 2006-07-23 11:36:21 0000 -------
Created an attachment (id=92567) [details]
Diffs for Ebuild

------- Comment #18 From David Turner 2006-07-23 11:37:37 0000 -------
Created an attachment (id=92568) [details]
Patch from Bug 127790 used

------- Comment #19 From David Turner 2006-07-23 11:39:17 0000 -------
Created an attachment (id=92569) [details]
Patch from Bug 127790 used

------- Comment #20 From Chris Gianelloni (RETIRED) 2006-07-25 12:33:09 0000 -------
*** Bug 127790 has been marked as a duplicate of this bug. ***

------- Comment #21 From Tupone Alfredo 2007-01-14 14:37:29 0000 -------
A patch is in portage now. Patch are mostly taken from FreeBSD.
Thanks for report