ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.26k stars 174 forks source link

Anomaly: Warzone Earth won't launch #1553

Open daniel-ferradal-marquez opened 11 years ago

daniel-ferradal-marquez commented 11 years ago

$ ./AnomalyWarzoneEarth dlopen failed trying to load: /home/daniel/.local/share/Steam/ubuntu12_32/steamclient.sowith error: libtier0_s.so: cannot open shared object file: No such file or directory [S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/daniel/.local/share/Steam/ubuntu12_32/steamclient.so [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

All the other games I'm playing have no problems to launch and run and yes I tried deleting the game, restarting steam, reinstalling the game, etc.

The files mentioned are there and Steam is up to date, I include them listed here and their paths and info in case what I have has any problems (although like I say this is the only game I have trouble launching):

~$ ls -l /home/daniel/.local/share/Steam/ubuntu12_32/steamclient.so -rwxrwxr-x 1 daniel daniel 15551751 feb 8 18:20 /home/daniel/.local/share/Steam/ubuntu12_32/steamclient.so

ls -l /home/daniel/.local/share/Steam/ubuntu12_32/libtier0_s.so -rwxrwxr-x 1 daniel daniel 189903 feb 8 18:20 /home/daniel/.local/share/Steam/ubuntu12_32/libtier0_s.so


I also opened steam from terminal and when I click play it spits this:

Failed to load installscript /home/daniel/.local/share/Steam/SteamApps/common/Anomaly Warzone Earth/installscript.vdf Game update: AppID 91200 "Anomaly Warzone Earth", ProcID 4597, IP 0.0.0.0:0 Setting breakpad minidump AppID = 91200 Steam_SetMinidumpSteamID: Caching Steam ID: 76561197978965488 [API loaded no] Game removed: AppID 91200 "Anomaly Warzone Earth", ProcID 4598

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4460): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully


Processor Information: Vendor: GenuineIntel Speed: 3059 Mhz 4 logical processors 4 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Unsupported SSE41: Supported SSE42: Supported

Network Information: Network Speed:

Operating System Version: Ubuntu 12.10 (32 bit) Kernel Name: Linux Kernel Version: 3.7.6-i7-950 X Server vendor: The X.Org Foundation X Server release: 11300000

Video Card: Driver: NVIDIA Corporation GeForce GTX 470/PCIe/SSE2

Driver Version:  4.3.0 NVIDIA 310.32
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID:  0x10de
DeviceID:  0x6cd
Number of Monitors:  1
Number of Logical Video Cards:  1
Primary Display Resolution:  1920 x 1200
Desktop Resolution: 1920 x 1200
Primary Display Size: 20,39" x 12,76"  (24,02" diag)
                                        51,8cm x 32,4cm  (61,0cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 1279 MB
Supported MSAA Modes:  2x 4x 8x 16x 

Sound card: Audio device: Realtek ALC889

Memory: RAM: 6084 Mb

Miscellaneous: UI Language: English LANG: en_US.UTF-8 Microphone: Not set Total Hard Disk Space Available: 111266 Mb Largest Free Hard Disk Block: 56427 Mb

Installed software:

Recent Failure Reports:


scottlu commented 11 years ago

It works for me as of 1 minute ago.

The way you launched from the command line won't work. Try this way:

Open a terminal window and go to the game's install directory, then:

echo -n 91200 > steam_appid.txt LD_LIBRARY_PATH=~/.local/share/Steam/ubuntu12_32 ./AnomalyWarzoneEarth

Please post back here on the results.

daniel-ferradal-marquez commented 11 years ago

All I get when I run that is:

Setting breakpad minidump AppID = 91200 Steam_SetMinidumpSteamID: Caching Steam ID: 76561197978965488 [API loaded no]

Is there somewhere else you want me to look?

steam terminal output: ExecCommandLine: "/home/daniel/.local/share/Steam/ubuntu12_32/steam steam://rungameid/91200" ExecSteamURL: "steam://rungameid/91200" Failed to load installscript /home/daniel/.local/share/Steam/SteamApps/common/Anomaly Warzone Earth/installscript.vdf Game update: AppID 91200 "Anomaly Warzone Earth", ProcID 4837, IP 0.0.0.0:0 Setting breakpad minidump AppID = 91200 Steam_SetMinidumpSteamID: Caching Steam ID: 76561197978965488 [API loaded no] Game removed: AppID 91200 "Anomaly Warzone Earth", ProcID 4838

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:4626): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully roaming config store 2 saved successfully

daniel-ferradal-marquez commented 11 years ago

I launched it with strace to see what it was doing, trying to see if there was something missing.

The program seems to look for stuff I don't have but I am not sure if that's a problem of not, since most I see are pulseaudio stuff, and I don't use pulseaudio.

To not fill this thread with garbage I pasted in pastebin, hope that gives you a tip of what may be going on:

http://pastebin.com/EKfShcaP

hamsterready commented 11 years ago

Hi,

Same problem here, I am getting:

10:52:48 ~/.steam/steam/SteamApps/common/Anomaly Warzone Earth$ cat steam_appid.txt 9120010:53:26 ~/.steam/steam/SteamApps/common/Anomaly Warzone Earth$ 10:53:28 ~/.steam/steam/SteamApps/common/Anomaly Warzone Earth$ LD_LIBRARY_PATH=~/.local/share/Steam/ubuntu12_32 ./AnomalyWarzoneEarth Setting breakpad minidump AppID = 91200 Steam_SetMinidumpSteamID: Caching Steam ID: 76561198057500971 [API loaded no] GLX_EXT_swap_control not supported, unable to set vertical sync. OpenAL sound device name: PulseAudio Default Segmentation fault (core dumped)

ludovicalchi commented 11 years ago

Hi,

same problem for me. I am not at home to give you more informations, but this is my experience : Computer : Asus N55SF with Nvidia optimus (http://www.asus.com/Notebooks_Ultrabooks/N55SF).

I use Bumblebee to manage the optimus technologie.

If I run steam and Anomaly Warzone normaly (on the intel HDxxxx video card), I can't launch the game. But with Bumblebee ($ optirun steam), I can launch and play perfectly.

ghost commented 11 years ago

I am also getting this error, Anomaly just segfaults at startup. This is the backtrace I get, maybe it is helpful:

#0  0x08112d87 in ?? ()
(gdb) bt
#0  0x08112d87 in ?? ()
#1  0x080d781e in ?? ()
#2  0x080d818e in ?? ()
#3  0x08158d4f in ?? ()
#4  0x081592c4 in ?? ()
#5  0x080c1832 in ?? ()
#6  0x081c5a64 in ?? ()
#7  0x080c2ce7 in ?? ()
#8  0x081c5458 in ?? ()
#9  0xf721ee52 in start_thread () from /lib/libpthread.so.0
#10 0xf7326e7e in clone () from /lib/libc.so.6
ghost commented 11 years ago

The register values are:

eax            0xa39e4c0        171566272
ecx            0x6      6
edx            0x80000  524288
ebx            0x9b9e370        163177328
esp            0xf30895e0       0xf30895e0
ebp            0x80000  0x80000
esi            0xf30897c0       -217540672
edi            0x6      6
eip            0x8112d87        0x8112d87
eflags         0x210206 [ PF IF RF ID ]
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x63     99

and apparently it is trying to run the following instruction:

 mov     edx, [eax]

So i guess 0xa39e4c0 is an invalid address

daniel-ferradal-marquez commented 11 years ago

Nobody gives a sh*t about this one? I still can't play it.

scottlu commented 11 years ago

dafema, it works for me on Ubuntu 12.04 32 bit, using latest nVidia drivers. The next step is for someone here to try to reproduce your system, to see if we can get this problem to reproduce.

What drivers are you running - open source or proprietary?

What distro and what architecture (32 or 64 bit) are you using?

daniel-ferradal-marquez commented 11 years ago

Thanks for the reply, but the info you are now asking has always been in the very first post already. (sigh)

scottlu commented 11 years ago

On my system, libGL.so.1 gets loaded from /usr/lib/nvidia-experimental-310/libGL.so.1. On your system, it gets loaded from /usr/lib/libGL.so.1.

We have near identical nVidia drivers installed. On my system, ldconfig -p | grep libGL.so.1 outputs this:

libGL.so.1 (libc6) => /usr/lib/nvidia-experimental-310/libGL.so.1

What does it output on your machine? Can you ls -l /usr/libGL.so.1 to see what it is linked to?

daniel-ferradal-marquez commented 11 years ago

Thansk for replying.

I have a 310.32 binary install from NVIDIA: http://www.nvidia.com/object/linux-display-ia32-310.32-driver.html

Allow me to remind you that I have no problems with any other steam games I have tried in Linux, this is the only one.

here is the results you ask me for:

Command: ldconfig -p | grep libGL.so.1 libGL.so.1 (libc6) => /usr/lib/libGL.so.1

And command: $ ls -l /usr/lib/libGL.so.1 lrwxrwxrwx 1 root root 15 feb 27 21:08 /usr/lib/libGL.so.1 -> libGL.so.310.32

And even: $ ls -l /usr/lib/libGL.so* lrwxrwxrwx 1 root root 10 feb 27 21:08 /usr/lib/libGL.so -> libGL.so.1 lrwxrwxrwx 1 root root 15 feb 27 21:08 /usr/lib/libGL.so.1 -> libGL.so.310.32 -rwxr-xr-x 1 root root 851204 feb 27 21:08 /usr/lib/libGL.so.310.32

scottlu commented 11 years ago

Interesting that yours is different like that (but valid). Could you please run from the command line:

LD_DEBUG=libs LD_LIBRARY_PATH=~/.local/share/Steam/ubuntu12_32 ./AnomalyWarzoneEarth > lddebug.txt 2>&1

Then put this file into pastebin?

Thanks.

daniel-ferradal-marquez commented 11 years ago

Thanks!

Here its is:

http://pastebin.com/KgRKspRa

scottlu commented 11 years ago

Thank you. Your pastebin shows that the game is finding all the libraries it needs, but then the game itself decides to exit for an unknown reason. At this point, the game developer needs to get involved to see why the game is deciding to exit. Could contact them and send them the url to this thread?

daniel-ferradal-marquez commented 11 years ago

Thank you. Yes it seems like a game issue rather than steam's. Have sent them an email already with this link and the description of the problem.

anyc commented 11 years ago

Same problem here. Linking succeeds but it just stops. I started the game manually with strace and I see nothing special except: rt_sigaction(SIGILL, {0xf3fb5cc3, [ILL], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0 WP says: "The SIGILL signal is sent to a process when it attempts to execute a malformed, unknown, or privileged instruction." It appears at the end but I don't know if this is fatal for the process in any case.

ghost commented 11 years ago

I think it is trying to read from an invalid memory location, as you can see in my backtrace + register values that I posted earlier (I always get this same backtrace). However without source code I can't give any more detailed information. But I guess the developers have debug info for that build they uploaded to steam, so they can map the addresses to source lines and hopefully fix the issue.

anyc commented 11 years ago

Well anything new? Usually I'm quite patient but I'm waiting for several weeks now. Is there a way to get a refund from Valve if a game doesn't even start?

daniel-ferradal-marquez commented 11 years ago

I contacted them like scottlu suggested. This is what they replied (March 7th):

"... We are aware of the problem with Anoamly Warzone Earth on linux, our team is trying to fix this but our programmers have a hard time diagnosing the issue. Eventually the fix will come, but unfotunately as of right now we can't give you an ETA."

So, I'm applying patience hoping it will be fixed.

anyc commented 11 years ago

Sounds to me like: we'll try if we have some spare time again. They could for example start with talking to the people that report errors to get a trail or enable some debug output. I wouldn't mind if it takes some time as long as they show real interest. Imho, people here a really helpful and could provide usable feedback.

Lord-Avallon commented 11 years ago

I have to report that I just updated the game (it´s a little one, around 10 MB) and it is working fine for me, I played one mission and everything is ok.

My specs: https://gist.github.com/Lord-Avallon/4521727

anyc commented 11 years ago

I updated as well but it still doesn't start. :/

daniel-ferradal-marquez commented 11 years ago

Updated here too... Still the same result, it does not load and exits right away. Nothing seemed to change.

anyc commented 11 years ago

Just to report: there was another update some days ago, but it changed nothing again.

reimax commented 11 years ago

hi,

asus n57, start game with Bumblebee and game not open, when I run steam and Anomaly Warzone normaly (on the intel video card), I can't launch the game, after movie window close. In terminal i get:

Game update: AppID 91200 "Anomaly Warzone Earth", ProcID 22658, IP 0.0.0.0:0 ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:22532): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent. Setting breakpad minidump AppID = 91200 Steam_SetMinidumpSteamID: Caching Steam ID: 76561198075614912 [API loaded no] GLX_EXT_swap_control not supported, unable to set vertical sync. saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 14 (X_GetGeometry) Resource id in failed request: 0x400003 Serial number of failed request: 227 Current serial number in output stream: 227 OpenAL sound device name: PulseAudio Default Segmentation fault (core dumped) Game removed: AppID 91200 "Anomaly Warzone Earth", ProcID 22659 saving roaming config store to 'sharedconfig.vdf' roaming config store 2 saved successfully

how fix this?

arichardson commented 11 years ago

I also used to have this issue, I tried playing it again today and it worked for me (openSuSE KDE 64bit with AMD Graphics). There must have been some update to either anomaly or the steam runtime that fixed it for me (I am running steam beta)

daniel-ferradal-marquez commented 11 years ago

I reinstalled it again.

This time Ubuntu 13.04 64 bits and kernel 3.4.43., nvidia 319.17.

The same exact issue still persists. Steam beta even.

xanderxfz commented 11 years ago

Issue still persists in my PC and Notebook (Xubuntu 12.04 x64, kernel 3.2.0-50, Intel HD 2000, latest Steam beta) xanderxfz@xubuntu1204$ ./AnomalyWarzoneEarth dlopen failed trying to load: /home/xanderxfz/.local/share/Steam/ubuntu12_32/steamclient.sowith error: libtier0_s.so: cannot open shared object file: No such file or directory [S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/xanderxfz/.local/share/Steam/ubuntu12_32/steamclient.so [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

a1batross commented 10 years ago

One year ago.

Still doesn't work.

kisak-valve commented 7 years ago

This game is affected by an engine bug, the linked workaround needs to be tried in addition to troubleshooting this issue.

random2324 commented 6 years ago

I know that I could play the game just fine 1 or 2 years ago using the above mentioned link with the compiled test.so. However something changed some months ago and the game is broken now again needing libtier_s.so

/home/greg/.local/share/Steam/ubuntu12_32/steamclient.sowith error: libtier0_s.so: cannot open shared object file: No such file or directory [S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/greg/.local/share/Steam/ubuntu12_32/steamclient.so [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

dlopen failed trying to load: /home/greg/.local/share/Steam/ubuntu12_32/steamclient.sowith error: libvstdlib_s.so: cannot open shared object file: No such file or directory [S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/greg/.local/share/Steam/ubuntu12_32/steamclient.so [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

dlopen failed trying to load: /home/greg/.local/share/Steam/ubuntu12_32/steamclient.sowith error: libtier0_srv.so: cannot open shared object file: No such file or directory [S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/greg/.local/share/Steam/ubuntu12_32/steamclient.so [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

I copied libvstdlib_srv.so and libtier0_srv.so twice from Black Mesa to the Anomaly Game folder and renamed one to libtier0_s.so and libvstdlib_srv.so to libvstdlib_s.so.

In the end I got 3 new files: libvstdlib_s.so libtier0_s.so libtier0_srv.so

And finally the game started again.

Seems like this clearly a Steam bug and Valve needs to fix.

ostrolucky commented 6 years ago

Oh man thank you for this. I was pretty stuck, this helped me get unstuck, even though it took me a while to find these files. For future me, files are here:

https://github.com/pmrowla/hl2sdk-csgo/blob/master/lib/linux/libtier0.so https://github.com/pontostroy/gearsongallium/blob/master/cd-image/source/root/usr/lib/libtier0_s.so https://github.com/pontostroy/gearsongallium/blob/master/cd-image/source/root/usr/lib/libvstdlib_s.so

shjohnson-pi commented 5 years ago

Here's what I did to finally get the game to load past the initial video:

(LInux Mint 19.1 Cinnamon x64)

In a terminal in the directory steamapps/common/Anomaly Warzone Earth/ I kept trying to run ./AnomalyWarzoneEarth and installing whatever libraries were missing. It seems I was missing a bunch of 32 bit (i386) libraries. Installing i382-libs ended up installing almost everything I needed. I did have to symlink libudev.so.0 to libudev.so

sudo ln -s /lib/i386-linux-gnu/libudev.so{,.0}

I also downloaded the libraries @ostrolucky referenced and put them in the current directory.

It complained about not finding steam, but I fixed that by creating the file steam_appid.txt in the current directory with only the text 91200 (The steam ID of the game).

Now the game would run in the terminal, but would still hang after the video.

But, I found a post [1] that helped fix this! EugVVl wrote this:

1. Save the text below for example as a game/test.c:

#define _GNU_SOURCE
#include <dlfcn.h>
#include <semaphore.h>
#include <stdio.h>
#include <time.h>
#include <unistd.h>

static int (*_realSemTimedWait)(sem_t *, const struct timespec *) = NULL;

int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout)
{
if (abs_timeout->tv_nsec >= 1000000000)
{
//fprintf(stderr, "to: %lu:%lu\n", abs_timeout->tv_sec, abs_timeout->tv_nsec);
((struct timespec *)abs_timeout)->tv_nsec -= 1000000000;
((struct timespec *)abs_timeout)->tv_sec++;
}
return _realSemTimedWait(sem, abs_timeout);
}

__attribute__((constructor)) void init(void)
{
_realSemTimedWait = dlsym(RTLD_NEXT, "sem_timedwait");
}

2. Compile it (requires gcc installed):

gcc -m32 -o test.so test.c -ldl -shared -fPIC -Wall -Wextra

3. Replace in start.sh line

./"AnomalyWarzoneEarth"

with the line

env LD_PRELOAD=./test.so ./"AnomalyWarzoneEarth"

I did need to install gcc-multilib before I could compile that though.

Now my final command to run the game and get to the main menu is:

env LD_LIBRARY_PATH=./ LD_PRELOAD=test.so ./AnomalyWarzoneEarth

I hope this helps others.

Sources:

[1] https://www.gog.com/forum/anomaly_series/anomaly_warzone_earch_stuck_at_loading/post2

joeyparrish commented 1 year ago

The missing libraries were all in Steam for me, but setting LD_LIBRARY_PATH broke Steam's ability to load them. (An educated guess.)

I'm using this patch:

// Build with:
//   sudo apt install gcc-multilib
//   gcc -m32 -o patch.so patch.c -ldl -shared -fPIC -Wall -Wextra

// Start with:
//   ./start-with-patch.sh %command%

#define _GNU_SOURCE
#include <dlfcn.h>
#include <semaphore.h>
#include <stdio.h>
#include <time.h>
#include <unistd.h>

static int (*_realSemTimedWait)(sem_t *, const struct timespec *) = NULL;

int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout) {
  if (abs_timeout->tv_nsec >= 1000000000) {
    ((struct timespec *)abs_timeout)->tv_nsec -= 1000000000;
    ((struct timespec *)abs_timeout)->tv_sec++;
  }
  return _realSemTimedWait(sem, abs_timeout);
}

__attribute__((constructor))
void init() {
  _realSemTimedWait = dlsym(RTLD_NEXT, "sem_timedwait");
}

Built with the instructions in the header comments. And I'm using this start script:

#!/bin/bash

cd "$(dirname "$0")"

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.local/share/Steam/ubuntu12_32/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/
export LD_PRELOAD=./patch.so

./AnomalyWarzoneEarth

which resolves all the library issues. (Your paths may vary somewhat. These work for me in Ubuntu 22.04.)

I hope this helps others!