• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

psymin

Recruit
28 Badges
Aug 1, 2014
3
0
  • War of the Roses
  • Prison Architect
  • Shadowrun: Dragonfall
  • Shadowrun Returns
  • Age of Wonders III
  • BATTLETECH
  • Crusader Kings Complete
  • Knights of Pen and Paper 2
  • Cities: Skylines - After Dark
  • Magicka 2
  • Pillars of Eternity
  • Mount & Blade: With Fire and Sword
  • Magicka: Wizard Wars Founder Wizard
  • Cities: Skylines
  • Cities in Motion
  • Warlock 2: The Exiled
  • Warlock: Master of the Arcane
  • The Showdown Effect
  • Teleglitch: Die More Edition
  • Magicka
  • Leviathan: Warships
  • Knights of Pen and Paper +1 Edition
  • Europa Universalis IV
  • Europa Universalis III
  • Dungeonland
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II
  • Cities in Motion 2
I have a few different setups for gaming with Steam under Linux. They are either SteamOS or Gentoo and by default Warlock 2 does show up in my game list under Steam and installs. Although it will not execute properly.

Here is an error under SteamOS:

steam@steamos:~/.steam/steam/SteamApps/common/Warlock 2$ ./Game
./Game: error while loading shared libraries: libcurl.so.4: cannot open shared
object file: No such file or directory

Here is some of the output of an strace on ./Game

stat64("/usr/lib/cmov", 0xffcf5f40) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libcurl.so.4", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
writev(2, [{"./Game", 6}, {": ", 2}, {"error while loading shared libra"...,
36}, {": ", 2}, {"libcurl.so.4", 12}, {": ", 2}, {"cannot open shared object
file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}],
10./Game: error while loading shared libraries: libcurl.so.4: cannot open
shared object file: No such file or directory
) = 118
exit_group(127) = ?
steam@steamos:~/.steam/steam/SteamApps/common/Warlock 2$ ls -ld
/usr/lib/libcurl.so.4
ls: cannot access /usr/lib/libcurl.so.4: No such file or directory


The issue here with SteamOS is that it comes with a 64 bit libcurl.so.4 and it isn't located in /usr/lib .. it appears that other linux games under Steam get around this issue by shipping their own libcurl.so files and linking to them.


Under Gentoo I'm past that issue and actually have the game working. Here is another issue that had to be tackled:

psymin@localhost ~/.steam/steam/SteamApps/common/Warlock 2 $ ./Game
./Game: error while loading shared libraries: libfmodex-4.44.17.so: cannot
open shared object file: No such file or directory

And here is an strace of ./Game

open("/usr/lib32/libfmodex-4.44.17.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
stat64("/usr/lib32", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
writev(2, [{"./Game", 6}, {": ", 2}, {"error while loading shared libra"...,
36}, {": ", 2}, {"libfmodex-4.44.17.so", 20}, {": ", 2}, {"cannot open shared
object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}],
10./Game: error while loading shared libraries: libfmodex-4.44.17.so: cannot
open shared object file: No such file or directory
) = 126
exit_group(127) = ?
+++ exited with 127 +++


It appears that Warlock 2 is having another issue trying to link against a .so file that isn't installed on the system. This is an interesting issue because fmod isn't available in the SteamOS repository nor is it available in the Debian or Ubuntu repos. It is in the Gentoo portage tree, but the version is slightly too old. Again, other Steam games under linux get around this issue by shipping the fmod libs with their game files and linking against it.

To get it working under Gentoo I just downloaded fmodex 4.44.40 from the fmod website and copied libfmodex-4.44.40.so to /usr/lib32/libfmodex-4.44.17.so

Then the game appears to function correctly under linux :)

I'll test more under SteamOS next week
 
There seem to be a few issues regarding getting Warlock 2: The Exiled to work under Linux.

They mostly involve the binary using shared libraries that are not installed on the host system.

Other Steam Linux games get around this issue by shipping their game files with copies of the .so files they are linked against and telling the system to use those files.

For example, in SteamOS I don't think it is possible to install a 'libfmodex-4.44.17.so' easily without fetching the tarball from the fmod.org site. Same with Gentoo.

Both of these distros have other issues trying to get the game to function, but it certainly can be done under Gentoo. I haven't tried very hard under SteamOS.
 
Merged threads.
 
Neat :) Thanks for merging the threads. I had issues when posting the first one and I had thought it failed.

My intention for posting was to provide some feedback that might be helpful to the devs and testers :)
 
I did not know you could run warlock 2 on linux. Last time I ran steam on linux, warlock was not installable. I'll check again.

That could be pretty interesting, I would not need to boot windows to mod and only stay with my primary OS: Linux.
 
I have a similar issue on Ubuntu 13.10 x64 in that the game won't start. However, the fmod & steam dlls are actually present in the Steam installation, but will only be found if you run Game from within its folder, so do not, in fact, need to be installed manually system-wide in /usr/lib32! libcurl-32 does need to be installed manually though.

If you need to test what DLLs are actually missing, try:

cd ~/.steam/steam/SteamApps/common/Warlock\ 2
strace ./Game​

I found that libcurl, libc++ and a particular naming of the libfmod dll were needed:

1) Install libcurl (32bit)

sudo apt-get install libcurl3:i386​

2) Install libc++ (32 bit)

sudo apt-get install libc++1:i386​

3) link to existing fmod dll (The game seems to want both versions to be visible in the dir)

cd ~/.steam/steam/SteamApps/common/Warlock\ 2
ln -s libfmodex.so libfmodex-4.44.17.so​

[EDIT] Game then works, though rather buggy for me...e.g. flickering screen and sprites being drawn in incorrect locations. Hopefully the devs can iron that stuff out soon!
 
Last edited: