when executing cube_client, it fails to load, issuing a segmentation fault. Reproducible: Always Steps to Reproduce: 1. emerge games-fps/cube 2. execute "cube_client" Actual Results: issues this error: Fatal signal: Segmentation Fault (SDL Parachute Deployed) Expected Results: should load game properly i believe this is a ppc specific error. and i'm also not sure about this being a cube bug or a libsdl bug, since i get this error from other games. also, if i run cube_client-bin, i get this error: /usr/games/lib/cube/cube_client: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory Portage 2.0.51.19 (default-linux/ppc/2005.0, gcc-3.4.4, glibc-2.3.4.20041102-r1, 2.6.12-gentoo-r4 ppc) ================================================================= System uname: 2.6.12-gentoo-r4 ppc 7447A, altivec supported Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 10 2005, 16:13:25)] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.90.0.3-r5 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=G4 -mabi=altivec -pipe -fomit-frame-pointer" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /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="-O2 -mcpu=G4 -mabi=altivec -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.rnl.ist.utl.pt/gentoo" LC_ALL="en_IE.UTF-8" 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="ppc X alsa altivec apm artworkextra bitmap-fonts browserplugin cdr cups dga dhcp dvd eds encode esd foomaticdb gnome gpm gstreamer gtk gtk2 gtkhtml hal jikes jpeg mad mikmod mozsvg mp3 mpeg mppe-mppc network nls nptl nptlonly offensive ogg oggvorbis opengl pic png ppds samba sdl ssl theora truetype unicode usb vorbis xml2 xvid userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LDFLAGS, LINGUAS
Run "ln -s /usr/lib/libstdc++-libc6.1-2.so.3 /usr/lib/libstdc++-libc6.2-2.so.3" and cube_client-bin should work. lib-compat should install that symlink but at the moment it does not. You will have to use cube_client-bin in order to play on online servers as the open source version will not be able to connect to them due to security reasons. As for the SDL parachute I haven't been able to reproduce that. You might want to add '-maltivec' to your CFLAGS, '-mabi=altivec' without '-maltivec' will not do anything. If you add '-mtune=G4' instruction scheduling will be optimized for your G4 as well.
The SDL_Segmentation fault seems to be because of the networking code. It looks like it tries to disconnect without checking if there is a peer registered. This results in trying to resolve a null pointer and we get a segfault. I'll see if I can come up with a patch.
This is still broken with the new version of cube (not yet in portage). I think my original idea as to what was wrong is wrong, but I'll keep looking into it.
Okay, it was actually a simple fix, we need to use -fsigned-char on ppc. Added the fix to CVS.