<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>86552</bug_id>
          
          <creation_ts>2005-03-24 10:42 0000</creation_ts>
          <short_desc>quake2-icculus is missing ref_softx.so and/or ref_soft.so on amd64</short_desc>
          <delta_ts>2005-04-29 23:14:38 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Games</component>
          <version>unspecified</version>
          <rep_platform>AMD64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>oli-j@postmark.net</reporter>
          <assigned_to>games@gentoo.org</assigned_to>
          <cc>amd64@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>oli-j@postmark.net</who>
            <bug_when>2005-03-24 10:42:35 0000</bug_when>
            <thetext>after emerging quake2-icculus, it doesn&apos;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 &apos;games&apos; 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&apos;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(&quot;ref_softx.so&quot;) failed: No such file or directory
Refresh failed
recursive shutdown
Error: Couldn&apos;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=&quot;amd64&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-O2 -fomit-frame-pointer -pipe&quot;
CHOST=&quot;x86_64-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/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&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O2 -fomit-frame-pointer -pipe&quot;
DISTDIR=&quot;/home/special/distfiles&quot;
FEATURES=&quot;autoaddcvs autoconfig ccache distlocks sandbox&quot;
GENTOO_MIRRORS=&quot;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&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;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&quot;
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>oli-j@postmark.net</who>
            <bug_when>2005-03-24 10:45:32 0000</bug_when>
            <thetext>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
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>misterpib@gmail.com</who>
            <bug_when>2005-04-11 12:51:53 0000</bug_when>
            <thetext>Ditto...seems to be a problem with AMD64? (since that&apos;s what I have, too)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-04-28 19:32:19 0000</bug_when>
            <thetext>you built with USE=-X

rebuilt with USE=X</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>oli-j@postmark.net</who>
            <bug_when>2005-04-29 15:58:46 0000</bug_when>
            <thetext>first of all, the ebuild doesn&apos;t even check for the X USE flag. Secondly, in the information I have already given, you&apos;ll see that X is quite clearly in my USE flags.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>oli-j@postmark.net</who>
            <bug_when>2005-04-29 16:10:37 0000</bug_when>
            <thetext>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&apos;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&apos;t version number (even just the -rX bit) change when the ebuild changes?

rebuilding to test this will have to wait until tomorrow.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-04-29 22:18:03 0000</bug_when>
            <thetext>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</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-04-29 22:26:10 0000</bug_when>
            <thetext>according to the quake2 makefile, either upstream made a mistake and didnt include BUILD_X11 support on amd64, or it isnt supported

the &apos;ifeq ($(ARCH),x86_64)&apos; section is missing this which is under the i386 section:
 ifeq ($(strip $(BUILD_X11)),YES)
  TARGETS += $(BUILDDIR)/ref_softx.$(SHLIBEXT)
 endif
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-04-29 22:37:27 0000</bug_when>
            <thetext>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`</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-04-29 23:14:38 0000</bug_when>
            <thetext>added a small workaround to portage ... the default renderer on amd64 will be &apos;glx&apos; until the &apos;softx&apos; and &apos;soft&apos; renderers work on amd64</thetext>
          </long_desc>
      
    </bug>

</bugzilla>