# Problems installing Unreal Tournament



## phreud (Nov 18, 2008)

I have had huge problems getting Unreal Tournament working on my FreeBSD 7.0 workstation. I run into problems in pretty much all steps of the install, but after several days of poking around and looking for answers online, I think the main problem comes down to OpenGL libraries.

Here's a run-down:

I started by trying the port in /usr/ports/games/linux-ut/. Install starts off fine but exits with an error:


```
ERROR: No matching delta for /usr/local/share/linux-ut/System/Editor.u
```

After doing some research it seems this error has to do with the patch (436) that is bundled with the port. I've tried, using the supported knob (WITH_451PATCH=YES), to install the other supported patch instead (546). Same error.

Looking in the install directory, everything seems to be in place though, even if the maps are still compressed, which might also contribute to the 'no matching delta' error. More on that later.

I then try to run the game and get the following error:

```
libx11.so.6 ELF file OS ABI invalid
```
Ok, I guess this is because it's trying to use the BSD lib files instead of the linux-compat ones. Let's try this:

```
brandelf -t Linux ut-bin
```
Same error. I then symlink the libx11.so.6 file from the linux compat directory into the Unreal System directory. The error goes away.

Trying to start the game, now I get an error it can't find the intro-map. Remebering that the maps weren't decompressed I go on a new Google hunt. I eventually find a way to decompress maps manually and I get a little further and this is where I run into real problems.

I'll post the log produced when I try to start Unreal Tournament>

```
# ./ut -log
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
Game class is 'UTIntro'
Level is Level Entry.MyLevel
Bringing Level Entry.MyLevel up for play (0)...
InitGame: 
Base Mutator is Entry.Mutator0
Browse: CityIntro.unr?Name=Player?Class=Botpack.TMale2?team=255?skin=SoldierSkin
s.blkt?Face=SoldierSkins.Othello
LoadMap: CityIntro.unr?Name=Player?Class=Botpack.TMale2?team=255?skin=SoldierSki
ns.blkt?Face=SoldierSkins.Othello
Case-insensitive search: genfluid -> ..\Textures\GenFluid.utx
Collecting garbage
Purging garbage
-0.0ms Unloading: Package Render
Garbage: objects: 16417->16416; refs: 224678
Game class is 'UTIntro'
Level is Level CityIntro.MyLevel
Bringing Level CityIntro.MyLevel up for play (0)...
InitGame: ?Name=Player?Class=Botpack.TMale2?team=255?skin=SoldierSkins.blkt?Face
=SoldierSkins.Othello
Base Mutator is CityIntro.Mutator1
Initialized moving brush tracker for Level CityIntro.MyLevel
Created and initialized a new SDL viewport.
Bound to UWeb.so
Team 255
Login: Player
Case-insensitive search: SoldierSkins -> ..\Textures\Soldierskins.utx
Possessed PlayerPawn: TMale2 CityIntro.TMale0
Input system initialized for SDLViewport0
Opening SDL viewport.
Bound to SDLGLDrv.so
Loaded render device class.
Initializing SDLGLDrv...
binding libGL.so.1
appError called:
Could not load OpenGL library
Executing UObject::StaticShutdownAfterError
Executing USDLClient::ShutdownAfterError
Executing USDLViewport::ShutdownAfterError
USDLGLRenderDevice::ShutdownAfterError
Signal: SIGIOT [iot trap]
Aborting.
Exiting.
Name subsystem shut down
```
I've had no luck with this. I tried symlinking different GL-libraries from the linux-compat directories. I've tried renaming any tls directories on the system (after reading tips online). I've tried disabling 'dri' from xorg.conf. I've also tried setting which openGL-library to use from within UnrealTournament.ini. Nothing seems to work.

As a last resort, I tried using the Loki installer instead of the port, but got the same problems as mentioned above.

I have a ATI Radeon Mobility 9700 card which is recognized in xorg.conf as:

```
Identifier  "Card0"
        Driver      "radeon"
        VendorName  "ATI Technologies Inc"
        BoardName   "RV350 [Mobility Radeon 9600 M10]"
        BusID       "PCI:1:0:0"
```
I really have no idea what to try next. I'd be very grateful for any tips.


----------



## Carpetsmoker (Nov 19, 2008)

The port should work fine, I helped updating it some time ago and we extensively tested it.

Which version of UT are you trying to install? The original/GOTY CD or the Anthology release?



> ERROR: No matching delta for /usr/local/share/linux-ut/System/Editor.u



IIRC this means the file is already patched, you can check the checksums with the patch file ... Or if you're not sure how to do that, post the md5 checksum here.



> After doing some research it seems this error has to do with the patch (436) that is bundled with the port. I've tried, using the supported knob (WITH_451PATCH=YES), to install the other supported patch instead (546). Same error.



The 451 patch is intended mainly for servers, not for clients, if fixes some bugs, but introduces many more, in my experience 436 runs better.

I'm not really sure about the runtime errors, you can try editing UnrealTournament.ini and using a different display driver ... Be warned that configuring and getting UT up and running can be a real *beep**beep**beep**beep**beep* sometimes, there is little documentation, many bugs, and loads of things you can do wrong.


----------



## phreud (Nov 20, 2008)

I have the GOTY CD. It says something about eventually needing to mount the CD with -b option in the pkg_message. I don't see a -b option in the man page for mount?

I'm not too familiar with checksums. Do you mean the checksum for the installed Editor.u file?

I've tried pointing to several different ogl-libraries from within the ini file. The problem is I don't really know what I'm doing  The default install points to a libGL.so(.1?) I think. What am I looking for? Is it supposed to be a file from /usr/compat/linux, or is it supposed to be a opengl library installed for FreeBSD?

I've installed a couple of ports which I hoped could make a difference (linux_dri for example) but it didn't help. I'll post some stuff that might be useful:


```
# ldd /usr/local/share/linux-ut/System/ut-bin
ut-bin:
        libdl.so.2 => /lib/libdl.so.2 (0x28078000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x2807d000)
        libpthread.so.0 => /lib/obsolete/linuxthreads/libpthread.so.0 (0x28091000)
        Engine.so => ./Engine.so (0x280e4000)
        Core.so => ./Core.so (0x2833d000)
        libSDL-1.1.so.0 => ./libSDL-1.1.so.0 (0x284ac000)
        libm.so.6 => /lib/obsolete/linuxthreads/libm.so.6 (0x2854c000)
        libc.so.6 => /lib/obsolete/linuxthreads/libc.so.6 (0x28572000)
        /lib/ld-linux.so.2 (0x2805a000)
        libX11.so.6 => ./libX11.so.6 (0x28691000)
        libXext.so.6 => ./libXext.so.6 (0x28764000)
```


```
# glxinfo 
libGL warning: 3D driver claims to not support visual 0x66
display: :0.0  screen:0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, 
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGI_video_sync, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 AGP 4x x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 7.0
OpenGL extensions:
    GL_ARB_fragment_program, GL_ARB_imaging, GL_ARB_multisample, 
    GL_ARB_multitexture, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_MESAX_texture_float, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, 
    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, 
    GL_EXT_draw_range_elements, GL_EXT_gpu_program_parameters, 
    GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset, 
    GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_stencil_two_side, 
    GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
    GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, 
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos, 
    GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle, 
    GL_NV_texgen_reflection, GL_NV_vertex_program, GL_OES_read_format, 
    GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
    GL_SGIS_texture_lod
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 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x26 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x27 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2e 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2f 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x31 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x66 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon
```

Thanks.


----------



## phreud (Nov 20, 2008)

I just reinstalled the port to make sure it's all default again.

The installation process is as follows:


```
# make install clean
===>  Vulnerability check disabled, database not found
===>  Extracting for linux-ut-436,1
=> MD5 Checksum OK for linux-ut/unreal.tournament_436-multilanguage.run.
=> SHA256 Checksum OK for linux-ut/unreal.tournament_436-multilanguage.run.
=> MD5 Checksum OK for linux-ut/unreal.tournament.official.bonus.pack.collection.run.
=> SHA256 Checksum OK for linux-ut/unreal.tournament.official.bonus.pack.collection.run.
==========================================================================
If you are experiencing problems reading the Unreal Tournament CD/DVD,
then try mounting it with the -b option.

The following knobs can be specified:
CDROM_MOUNT             Mountpoint for the UT CD/DVD.  Required!
WITH_451PATCH           Install the v451 patch.  This patch fixes some
                        issues but introduces new issues.  Note that this
                        patch is completely network compatible with v436,
                        so you do not need it for online play.
WITHOUT_MAPS            Do not install the maps.
==========================================================================
===>  Patching for linux-ut-436,1
===>  Configuring for linux-ut-436,1
===>  Installing for linux-ut-436,1
===>   linux-ut-436,1 depends on file: /compat/linux/usr/lib/libSDL-1.2.so.0 - found
===>   linux-ut-436,1 depends on file: /compat/linux/etc/fedora-release - found
===>   linux-ut-436,1 depends on file: /compat/linux/usr/X11R6/lib/libXrender.so.1 - found
===>   Generating temporary packing list
===>  Checking if games/linux-ut already installed
Detected original/GOTY release
Installing data from CD
Installing v436 patch files
Applying v436 patch
ERROR: No matching delta for /usr/local/share/linux-ut/System/Editor.u
*** Error code 3

Stop in /usr/ports/games/linux-ut.
```

And the checksum for Editor.u:


```
# md5 /usr/local/share/linux-ut/System/Editor.u 
MD5 (/usr/local/share/linux-ut/System/Editor.u) = f3b72a86f874b9e91654fd1bc5f673eb
```


----------



## Mel_Flynn (Nov 21, 2008)

phreud said:
			
		

> I have the GOTY CD. It says something about eventually needing to mount the CD with -b option in the pkg_message. I don't see a -b option in the man page for mount?



Sorry, can't help you with the rest, but it's in the manpage for mount_cd9660:

```
-b      Relax checking for Supplementary Volume Descriptor Flags field
             which is set to a wrong value on some Joliet formatted disks.
```


----------



## kegf (Nov 24, 2010)

I solve this. This happen when your sources already patched with v436 patch. To continue build you must clean thework/setup.data/patch.dat file.


----------



## Carpetsmoker (Nov 24, 2010)

Thanks, I believe that solution was offered more than two years ago 



			
				Carpetsmoker said:
			
		

> this means the file is already patched



You contribution is appreciated, but as a tip, be sure to check the date of the last post, if it's more than two years ago it's very likely that the OP will never read you answer  Which means your precious time is wasted (which is a shame)


----------



## phreud (Jan 16, 2011)

But I *did* read it  Stumbled in here for God knows what reason. Thanks for the input, but I'm no longer on that computer. Still playing UT though, but on Win7


----------



## Carpetsmoker (Jan 17, 2011)

The comment wasn't aimed at you, but at *kegf*, who posted a (possible) answer already offered by someone else two years after the last post.

Not that I particularly mind, it's just that it seems a waste of his time and effort


----------



## Nunya (Aug 3, 2013)

How does one "clean" the work/setup.data/patch.dat file?


----------



## ShelLuser (Aug 4, 2013)

Nunya said:
			
		

> How does one "clean" the work/setup.data/patch.dat file?


First of all; why would you want to do that, considering that the problems which were discussed here happened over 2 years ago?

It's quite likely that the issues which were discussed here have been addressed since then.


----------



## Nunya (Aug 5, 2013)

I am getting this error when I try to install the port. Apparently I'm missing something or the problem maybe hasn't been solved. Funny thing is I used to play and run a UT server on FreeBSD back in the 5.x days and don't recall this problem and I am stumped. Any help or advice would be appreciated. Thanks


```
===>   Generating temporary packing list
===>  Checking if games/linux-ut already installed
Detected original/GOTY release
Installing data from CD
Installing v436 patch files
Applying v436 patch
ERROR: No matching delta for /usr/local/share/linux-ut/System/Editor.u
*** [do-install] Error code 3

Stop in /usr/ports/games/linux-ut.
```


----------



## Carpetsmoker (Aug 13, 2013)

This error is common when the patch has already been applied. Do a `make clean` and try again.


----------



## BachiloDmitry (Feb 4, 2015)

So now it's 2015 and the problem remains. Or rather changed a bit:


```
Detected original/GOTY release
Installing data from CD
Installing v436 patch files
Applying v436 patch
ERROR: Can't find /usr/ports/games/linux-ut/work/stage/usr/local/share/linux-ut/System/Editor.u
*** Error code 3

Stop.
make: stopped in /usr/ports/games/linux-ut
```


----------



## Carpetsmoker (Feb 11, 2015)

BachiloDmitry said:


> So now it's 2015 and the problem remains. Or rather changed a bit:
> 
> 
> ```
> ...



Well, you're not giving us much information to work with, but last time the problem was solved:



kegf said:


> I solve this. This happen when your sources already patched with v436 patch. To continue build you must clean thework/setup.data/patch.dat file.



So, try to do a `make clean`; is that doesn't work, try commenting out the part that applies the v436 patch in the Makefile.

There are quite  few versions of UT, so perhaps yours is already patched. Ideally, the Makefile should detect this, but I don't have a FreeBSD deskop system anymore, so I can't do this for you :-(


----------



## BachiloDmitry (Mar 10, 2015)

I found an old copy of UT99 and installed using it - went smoothly, so yes, the problem is that recent versions are already patched.
I could not run it though, one machine (CURRENT-11.0/i386) told me it can't find libudev.so.0 or libudev.so.1 when I typed in `ut` (and as far as I know there is no way to install libudev on FreeBSD), and another machine (10.1-RELEASE/i386) just tells me this:

```
% ut
Signal: SIGIOT [iot trap]
Aborting.
%
```
but I guess this is another story, not for this thread.


----------



## Carpetsmoker (Mar 10, 2015)

BachiloDmitry said:


> I could not run it though, one machine (CURRENT-11.0/i386) told me it can't find libudev.so.0 or libudev.so.1 when I typed in `ut` (and as ar as I know there is no way to install libudev on FreeBSD)



It's part of a linux-base package:

```
% grep -r libudev /ports

/ports/emulators/linux_dist-gentoo-stage3/pkg-plist.i686:%%PREFIX_SUBDIR%%lib/libudev.so.1
/ports/emulators/linux_dist-gentoo-stage3/pkg-plist.i686:%%PREFIX_SUBDIR%%lib/libudev.so.1.4.0
```
So, you need to install emulators/linux_dist-gentoo-stage3 it seems ...


----------

