Bug 30611 - unreal shell script broken & segfault
|
Bug#:
30611
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: WORKSFORME
|
Assigned To: games@gentoo.org
|
Reported By: eradicator@gentoo.org
|
|
Component: Games
|
|
|
URL:
|
|
Summary: unreal shell script broken & segfault
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-10-07 17:05 0000
|
/usr/games/bin/unreal is incorrect. It is origionally:
#!/bin/sh
cd /usr/games/bin
exec ./UnrealTournament ${@}
but it sould be
#!/bin/sh
cd /opt/unreal/System
exec ./UnrealTournament ${@}
After I made this change, I ran unreal to the following error:
/opt/unreal/System $ unreal
WARNING: Not using preference directory
Signal: SIGSEGV [segmentation fault]
Aborting.
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1,
2.4.20-gentoo-r5)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.60GHz
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer
-falign-functions=4 -falign-jumps=4 -falign-loops=4"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/
share/config /var/bind /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/
share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/
share/config"
CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer
-falign-functions=4 -falign-jumps=4 -falign-loops=4"
DISTDIR="/usr/local/download/portage/distfiles"
FEATURES="ccache autoaddcvs sandbox userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/
Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/local/download/portage/packages-pentium4"
PORTAGE_TMPDIR="/usr/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/download/portage"
SYNC="rsync://192.168.0.1/gentoo-portage"
USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod
mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib
directfb gtkhtml alsa gdbm berkdb slang readline arts tetex aalib nas bonobo
svga ggi tcltk java guile ruby mysql postgres X sdl gpm tcpd pam libwww ssl
perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla gphoto2
ldap snmp cdr scanner 3ds acl acpi acpi4linux activefilter afs altivec amd
apache2 atlas autofs bidi clamav clisp cmucl cscope curl dedicated dga dnd doc
dv dvd emacs emacs-w3 ethereal evo expat faad fax fbcon ffmpeg flash
fluidsynth gb gcl gd gd-external geoip glut gmtfull gmthigh gmtsuppl gmttria
gnomedb gps gstreamer gtk2 icc imagemagick imap innodb ipalias ipv6 jack
javascript jbig jikes joystick junit justify kerberos krb4 lcd lcms ldam leim
libdsk libgda lids lirc lua lucid matroska mbox mcal md5sum mng mozaccess
mozcalendar mozinterfaceinfo mozxmlterm mpi mule nviz oav objc odbc offensive
ofx oldworld openal parse-clocks passfile pcap pcmcia pda php pic plotutils
pnp ppds prelude psyco qhull radeon rplay samba sasl skey slp socks5 sox
sqlite src sse stencil-buffer tiff transcode transparent-proxy trusted type1
usb videos vim-with-x wmf wxwin wxwindows X509 Xaw3d xchattext xface xine
xinerama xml xosd xvid zeo mozsvg"
Additionally... I'm using an IBM Thinkpad A31 - Radeon 7500 Mobility:
/opt/unreal/System $ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI Radeon 20020611 AGP 1x x86/MMX/SSE TCL
OpenGL version string: 1.2 Mesa 4.0.4
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_clip_volume_hint, GL_EXT_convolution, GL_EXT_compiled_vertex_array,
GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset,
GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_texture3D,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array,
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_MESA_window_pos,
GL_NV_blend_square, GL_NV_texgen_reflection, GL_SGI_color_matrix,
GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 16 tc 0 16 0 r . . 5 6 5 0 0 16 0 0 0 0 0 0 0 None
0x24 16 tc 0 16 0 r . . 5 6 5 0 0 16 8 0 0 0 0 0 0 None
0x25 16 tc 0 16 0 r . . 5 6 5 0 0 16 0 16 16 16 0 0 0 Slow
0x26 16 tc 0 16 0 r . . 5 6 5 0 0 16 8 16 16 16 0 0 0 Slow
0x27 16 tc 0 16 0 r y . 5 6 5 0 0 16 0 0 0 0 0 0 0 None
0x28 16 tc 0 16 0 r y . 5 6 5 0 0 16 8 0 0 0 0 0 0 None
0x29 16 tc 0 16 0 r y . 5 6 5 0 0 16 0 16 16 16 0 0 0 Slow
0x2a 16 tc 0 16 0 r y . 5 6 5 0 0 16 8 16 16 16 0 0 0 Slow
0x2b 16 dc 0 16 0 r . . 5 6 5 0 0 16 0 0 0 0 0 0 0 None
0x2c 16 dc 0 16 0 r . . 5 6 5 0 0 16 8 0 0 0 0 0 0 None
0x2d 16 dc 0 16 0 r . . 5 6 5 0 0 16 0 16 16 16 0 0 0 Slow
0x2e 16 dc 0 16 0 r . . 5 6 5 0 0 16 8 16 16 16 0 0 0 Slow
0x2f 16 dc 0 16 0 r y . 5 6 5 0 0 16 0 0 0 0 0 0 0 None
0x30 16 dc 0 16 0 r y . 5 6 5 0 0 16 8 0 0 0 0 0 0 None
0x31 16 dc 0 16 0 r y . 5 6 5 0 0 16 0 16 16 16 0 0 0 Slow
0x32 16 dc 0 16 0 r y . 5 6 5 0 0 16 8 16 16 16 0 0 0 Slow
Same here, exactly. Using unreal-tournament-goty-451... reckon it's the version
update to ut that did it, since the unreal ebuild snaffles its System/Core.so
and System/Engine.so files, this is probably what causes the problem, as
these files were changed in the version upgrade and the binary probably needs
to be changed also. Is there any particular reason the ebuild can't carry
its own versions of these files?
At the very least the ebuild for unreal needs to be changed to demand versions
<=436 (or is there a 440?)
I'm going to try to throw together an ebuild for unreal that does not $DEPEND
on unreal-tournament... so does anyone know the latest version of unreal-tournament
that works with unreal?
Hmm... I get a SIGIOT when I start UnrealTournament 436... so that's not
going to be much help... anyone else get a SIGIOT immediately after the ut
splash-screen comes up (happens with unreal and ut 436) ut 451 worked fine
for ut, but I'm trying to find a version that works for unreal...
oh yeah...
~ $ ut
Unreal engine initialized
Bound to SDLDrv.so
Joystick [0] : Unknown Joystick
SDLClient initialized.
Bound to Render.so
Lighting subsystem initialized
Rendering initialized
LoadMap: Entry
Bound to Fire.so
Case-insensitive search: Botpack -> ..\System\BotPack.u
Bound to IpDrv.so
appError called:
Class Actor Member Owner problem: Script=48 C++=52
Executing UObject::StaticShutdownAfterError
Executing USDLClient::ShutdownAfterError
Signal: SIGIOT [iot trap]
Aborting.
Exiting.
Name subsystem shut down
~ $ unreal
WARNING: Not using preference directory
Signal: SIGIOT [iot trap]
Aborting.
Created an attachment (id=20193) [details]
games-fps/unreal/unreal-226-r1.ebuild
Fixed startup script to go into System subdirectory to run ./UnrealTournament
Grabs unreal-tournamelt-436 directly for its System directory rather than
$DEPENDing on it since later versions break unreal.
I am having trouble running unreal-tournament-436 on my systems (SIGIOT),
so
Ferret, could you please give this a try...
just download it and save it as
/usr/portage/games-fps/unreal/unreal-226-r1.ebuild
then run:
$ cd /usr/portage/games-fps/unreal/
$ ebuild unreal-226-r1.ebuild digest
$ emerge unreal-226-r1.ebuild
You should be able to run 'unreal' as someone in the 'games' group... and
if
you're lucky, you'll get more than the SIGIOT I'm getting...
--Jeremy
The Unreal Tournament splash comes up for a fraction of a second before I get a
segmentation fault. It has the warning about invalid preferences but after
creating what I know to be valid preferences, this changes nothing.
Sorry man. :(
Well... unless I find someone that actually managed to get unreal to work under
linux... I can't figure out what's wrong here... maybe one of the gentoo
developers can actually respond to this...
I'm changing this bug to 'CANTFIX' as I can't seem to find a way to fix this
bug... it's beyond the scope of gentoo. Perhaps the developer will release an
updated package someday...
hmm, i realized i never gave any feedback on this bug ... thought i had :x
i fixed the shell script sometime ago ... and i worked on trying to track down that SIGIO bug like you got, but was unable to on my gentoo-1.4 or my gentoo-1.0 machines ...
i KNOW this package used to work (i added it) because i remember playing it and thinking 'man this is slow ass on my box' heh
i think the only other alternative is try to build the pkg from src ...
ok, after spending a butt ton of time screwing around with this, i found that
unreal-tournament-451 causes these bugs with unreal
when i used 436, it worked just fine ... i guess the solution here is to have
the unreal ebuild fetch and install its own set of libraries independent of
unreal-tournament ... right now, many things are just symlinked in from
/opt/unreal-tournament
i'll fix it up
that's what I did with my ebuild (fetching its own copy and not depending on
ut), but on my system, the older version of ut crashes (not just with unreal,
but with ut)... I'll try this ebuild but it looks pretty much the same as
mine...
But why is your ebuild asking for the 'Unreal Tournament CD' instead of the
'Unreal CD'?
because in order to work it needs a lot of files from the UT cd ... at least it
did for me ...
for this you need the unreal and ut cdroms
You might want to add this to your ebuild to make sure the Unreal CD is still
in there...
games_get_cd System/Unreal.ini
games_verify_cd "Unreal CD"
I get the same SIGIOT when using your ebuild as I did with mine... Can youu
give mine a try and see if it works for you? I don't think you need to copy
over all that UT data... I think we should only need the engine which is
provided by the loki ut install package...
~ $ unreal
Creating preferences directory...
Creating directory /home/jeremy/.loki/unreal/
Creating directory /home/jeremy/.loki/unreal/System
Unreal engine initialized
Bound to SDLDrv.so
Joystick [0] : Unknown Joystick
SDLClient initialized.
Bound to Render.so
Lighting subsystem initialized
Rendering initialized
LoadMap: Entry
Bound to Fire.so
appError called:
Class Actor Member Owner problem: Script=48 C++=52
Executing UObject::StaticShutdownAfterError
Executing USDLClient::ShutdownAfterError
Signal: SIGIOT [iot trap]
Aborting.
Exiting.
Name subsystem shut down
if you look at the original installer you'll see that it too installs a lot of
files from the UT cd
when i first made my ebuild i did so by trying to install just the unreal files
and then bits of UT as i went ... anything that is installed off the UT cd is
needed ... perhaps not the entire sub directory, but many of the files in each
tree are
like i said, i tried your ebuild and it was giving me SIGIOT's ... then i made a
new one and it worked for me ... to test, i usually `rm -rf /opt/unreal` to make
sure nothing was left behind from previous attempts
here's what unreal looks like on my box after `rm -rf /opt/unreal ; emerge
unreal`
(using the ebuild posted here of course)
root@vapier 0 root # unreal
Unreal engine initialized
Bound to SDLDrv.so
Joystick [0] : Unknown Joystick
SDLClient initialized.
Bound to Render.so
Lighting subsystem initialized
Rendering initialized
LoadMap: Entry
Bound to Fire.so
Game class is 'EntryGameInfo'
Level is Level Entry.MyLevel
Bringing Level Entry.MyLevel up for play (0)...
InitGame:
Base Mutator is Entry.Mutator0
Browse:
Unreal.unr?Name=HasntChangedName?Class=Botpack.TFemale1?team=255?skin=FCommandoSkins.aphe?Face=FCommandoSkins.Portia?Voice=BotPack.VoiceFemaleOne
LoadMap:
Unreal.unr?Name=HasntChangedName?Class=Botpack.TFemale1?team=255?skin=FCommandoSkins.aphe?Face=FCommandoSkins.Portia?Voice=BotPack.VoiceFemaleOne
Case-insensitive search: NALIFX -> ..\Textures\NaliFX.utx
Case-insensitive search: Ambancient -> ..\Sounds\AmbAncient.uax
Case-insensitive search: Amboutside -> ..\Sounds\AmbOutside.uax
Case-insensitive search: flyby -> ..\Music\FlyBy.umx
Collecting garbage
Purging garbage
-0.0ms Unloading: Package Render
Garbage: objects: 9452->9376; refs: 119765
Game class is 'Intro'
Level is Level Unreal.MyLevel
Bringing Level Unreal.MyLevel up for play (0)...
InitGame:
?Name=HasntChangedName?Class=Botpack.TFemale1?team=255?skin=FCommandoSkins.aphe?Face=FCommandoSkins.Portia?Voice=BotPack.VoiceFemaleOne
Base Mutator is Unreal.Mutator1
Warning: Unreal.Mover49 is BumpOpenTimed. Bots don't understand this well -
use StandOpenTimed instead!
Initialized moving brush tracker for Level Unreal.MyLevel
Created and initialized a new SDL viewport.
Bound to IpDrv.so
Case-insensitive search: Botpack -> ..\System\BotPack.u
Team 255
Login: HasntChangedName
Possessed PlayerPawn: TFemale1 Unreal.TFemale0
All inventory from HasntChangedName is accepted
Input system initialized for SDLViewport0
Opening SDL viewport.
Bound to OpenGLDrv.so
Loaded render device class.
Initializing OpenGLDrv...
binding libGL.so.1
Resizing SDL viewport. X: 640 Y: 480
OpenGL
GL_VENDOR : NVIDIA Corporation
GL_RENDERER : GeForce4 MX 440/AGP/SSE2
GL_VERSION : 1.4.1 NVIDIA 53.28
GL_EXTENSIONS : GL_ARB_imaging GL_ARB_multitexture GL_ARB_point_parameters
GL_ARB_point_sprite GL_ARB_texture_compression GL_ARB_texture_cube_map
GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix
GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_S3_s3tc
GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color
GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array GL_EXT_draw_range_elements GL_EXT_fog_coord
GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_paletted_texture
GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color
GL_EXT_separate_specular_color GL_EXT_shared_texture_palette
GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map
GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias
GL_EXT_texture_object GL_EXT_verte
Device supports: GL_EXT_bgra
Device supports: GL_EXT_paletted_texture
Device supports: GL_ARB_texture_compression
Device supports: GL_EXT_texture_compression_s3tc
Device supports: GL_EXT_texture_env_combine
Device supports: GL_EXT_compiled_vertex_array
Device supports: GL_EXT_fog_coord
Device supports: GL_EXT_secondary_color
Device supports: GL_ARB_multitexture
MinLogTextureSize = 2
MaxLogTextureSize = 8
Bound to ALAudio.so
fcntl: Invalid argument
fcntl: Invalid argument
OpenAL Audio subsystem initialized.
Game engine initialized
Startup time: 14.953232 seconds.
Entering main loop.
ok... well as I said... I still sigiot (even after doing the 'rm -rf
/opt/unreal' before the emerge... but this happens when I try to run
unreal-tournament with that engine too... so it's more than likely my
hardware... sorry, but I can't verify that it works... hopefully ferret can...
I forgot to bring my Unreal CD with me to college, so I can't try this out yet.
ive updated the ebuild in cvs so could you guys sync up and try it out ?
re-open if the new ebuild (1) doesnt work and (2) you figure out why ;)
it works fine over here ...
does this work:
1. It doesn't work for me.
2. because it's broken ;p
As I stated above, I'm fairly certain it's a problem with my system and the version of the ut engine used... and it will never be fixed upstream
*** Bug 48265 has been marked as a duplicate of this bug. ***