Bug 86552 - quake2-icculus is missing ref_softx.so and/or ref_soft.so on amd64
|
Bug#:
86552
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: games@gentoo.org
|
Reported By: oli-j@postmark.net
|
|
Component: Games
|
|
|
URL:
|
|
Summary: quake2-icculus is missing ref_softx.so and/or ref_soft.so on amd64
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2005-03-24 10:42 0000
|
after emerging quake2-icculus, it doesn't run and complains about a missing
file.
Either ref_softx.so if run from X, or ref_soft.so if run from the console.
version is 0.16.1, which is the latest version available for amd64 currently
Reproducible: Always
Steps to Reproduce:
1. emerge quake2-icculus
2. as a user in the 'games' group, run quake2, sdlquake2, quake2-qmax or
sdlquake2-qmax
3. weep as it fails to work
Actual Results:
If run from within X, the output is:
oj@unicron ~ $ quake2
Quake 2 -- Version 3.21+r0.16
Added packfile /usr/share/games/quake2-data/baseq2/pak0.pak (3307 files)
Added packfile /usr/share/games/quake2-data/baseq2/pak1.pak (279 files)
Added packfile /usr/share/games/quake2-data/baseq2/pak2.pak (2 files)
using /home/oj/.quake2/baseq2/ for writing
execing default.cfg
couldn't exec config.cfg
Console initialized.
------- sound initialization -------
/dev/dsp: Input/output error
SNDDMA_Init: Could not mmap /dev/dsp.
------- Loading ref_softx.so -------
LoadLibrary("ref_softx.so") failed: No such file or directory
Refresh failed
recursive shutdown
Error: Couldn't fall back to software refresh!
if run from a console, I get the same, but with ref_soft.so instead
Expected Results:
quake2 should have loaded
Portage 2.0.51.19 (default-linux/amd64/2004.3, gcc-3.3.4,
glibc-2.3.4.20041102-r1, 2.6.9-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.6.10
Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4-r1 [2.3.4
(#1, Feb 14 2005, 22:28:42)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
dev-lang/python: 2.2.3-r5, 2.3.4-r1
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.5, 1.4_p6, 1.9.4, 1.8.5-r3, 1.6.3, 1.7.9-r1
sys-devel/binutils: 2.15.92.0.2-r1
sys-devel/libtool: 1.5.10-r4
virtual/os-headers: 2.4.21-r1
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config
/usr/kde/3.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/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/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -fomit-frame-pointer -pipe"
DISTDIR="/home/special/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo
ftp://ftp.easynet.nl/mirror/gentoo/
http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/
http://ftp.easynet.nl/mirror/gentoo/
http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 S3TC X aalib acpi acpi4linux alsa berkdb bitmap-fonts cdr crypt curl
dga dvd esd ethereal flac font-server fortran gdbm gif gpm gtk imagemagick imap
imlib java javascript jp2 jpeg justify lcms libwww lzw lzw-tiff mad maildir
mikmod motif mp3 ncurses net nls nvidia offensive oggvorbis openal opengl oss
pam pcap perl png python qt readline samba sdl slang sox ssl tcltk tcpd tetex
tiff truetype truetype-fonts type1-fonts usb userlocales videos xchattext xfs
xgetdefault xinerama xml xml2 xmms xosd xpm xrandr xv zlib"
Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
maybe worth including the contents of qpkg -l to show which files do get built
unicron ~ # qpkg -l quake2-icculus
games-fps/quake2-icculus-0.16.1 *
CONTENTS:
/usr
/usr/share
/usr/share/doc
/usr/share/doc/quake2-icculus-0.16.1
/usr/share/doc/quake2-icculus-0.16.1/readme.txt.gz
/usr/share/doc/quake2-icculus-0.16.1/README.gz
/usr/share/doc/quake2-icculus-0.16.1/TODO.gz
/usr/share/doc/quake2-icculus-0.16.1/README-postinstall.gz
/usr/games
/usr/games/lib
/usr/games/lib/quake2-icculus
/usr/games/lib/quake2-icculus/baseq2
/usr/games/lib/quake2-icculus/baseq2/gamex86_64.so
/usr/games/lib/quake2-icculus/ctf
/usr/games/lib/quake2-icculus/ctf/gamex86_64.so
/usr/games/lib/quake2-icculus/ref_glx.so
/usr/games/lib/quake2-icculus/ref_sdlgl.so
/usr/games/lib/quake2-icculus/ref_softaa.so
/usr/games/lib/quake2-icculus/rogue
/usr/games/lib/quake2-icculus/xatrix
/usr/games/lib/quake2-icculus-qmax
/usr/games/lib/quake2-icculus-qmax/baseq2
/usr/games/lib/quake2-icculus-qmax/baseq2/gamex86_64.so
/usr/games/lib/quake2-icculus-qmax/baseq2/maxpak.pak
/usr/games/lib/quake2-icculus-qmax/ctf
/usr/games/lib/quake2-icculus-qmax/ctf/gamex86_64.so
/usr/games/lib/quake2-icculus-qmax/ref_glx.so
/usr/games/lib/quake2-icculus-qmax/ref_sdlgl.so
/usr/games/lib/quake2-icculus-qmax/ref_softaa.so
/usr/games/lib/quake2-icculus-qmax/rogue
/usr/games/lib/quake2-icculus-qmax/xatrix
/usr/games/bin
/usr/games/bin/quake2
/usr/games/bin/q2ded
/usr/games/bin/sdlquake2
/usr/games/bin/quake2-qmax
/usr/games/bin/q2ded-qmax
/usr/games/bin/sdlquake2-qmax
Ditto...seems to be a problem with AMD64? (since that's what I have, too)
you built with USE=-X
rebuilt with USE=X
first of all, the ebuild doesn't even check for the X USE flag. Secondly, in
the information I have already given, you'll see that X is quite clearly in my
USE flags.
ok, it appears that after an emerge sync, X now is a use flag that the ebuild
uses, although the version number of the package hasn't changed?
The results of an emerge -pv quake2-icculus were:
[ebuild R ] games-fps/quake2-icculus-0.16.1 +aalib -arts -dedicated -ipv6
-joystick -noqmax +opengl -rogue +sdl (-svga) -xatrix 4,695 kB
but are now:
[ebuild R ] games-fps/quake2-icculus-0.16.1 +X +aalib -arts -dedicated
-ipv6 -joystick -noqmax +opengl -rogue +sdl (-svga) -xatrix 4,695 kB
shouldn't version number (even just the -rX bit) change when the ebuild
changes?
rebuilding to test this will have to wait until tomorrow.
calm down there buddy :P
portage normally sorts your USE flags so i looked at the tail end and didnt see X
quake2 has ALWAYS used X, i just neglected to add it to IUSE, so in reality nothing changed
according to the quake2 makefile, either upstream made a mistake and didnt
include BUILD_X11 support on amd64, or it isnt supported
the 'ifeq ($(ARCH),x86_64)' section is missing this which is under the i386
section:
ifeq ($(strip $(BUILD_X11)),YES)
TARGETS += $(BUILDDIR)/ref_softx.$(SHLIBEXT)
endif
ok, the makefile just has a typo (BUILD_SOFTX instead of BUILD_X11)
regardless, software rendering isnt supported on x86_64 atm ... but quake2 uses that when it is first run, so you get stuck in a loop ... no way to change your driver without starting the game, but no way to start the game without ref_softx ;)
as a workaround, you can for now do this: `quake2 +set vid_ref glx`
added a small workaround to portage ... the default renderer on amd64 will be
'glx' until the 'softx' and 'soft' renderers work on amd64