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