Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 596736 - games-fps/warsow-2.0.1: Failed to load default refresh DLL
Summary: games-fps/warsow-2.0.1: Failed to load default refresh DLL
Status: RESOLVED DUPLICATE of bug 567392
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-10 07:52 UTC by segmentation fault
Modified: 2016-10-19 21:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description segmentation fault 2016-10-10 07:52:04 UTC
Gentoo may have not switched to warsow-2.0.1 yet, nonetheless it is useful to have this around when time comes - from what I see, it is a very common bug (and a showstopper too!):

NOTE: The 2.0.1 version I am talking about is a copy of

http://data.gpo.zugaina.org/games-overlay/games-fps/warsow/

to my local overlay. No problems with merging this one (while I had problems merging the 1.x version from :gentoo:).


Problem
=======

Upon starting warsow 2.0.1 with

warsow

I am greeted with a small nice window saying:

Failed to load default refresh DLL


Reason
======

Trying 

strace warsow

I see that it stops at:

open("/home/XXX/.warsow-2.0/libs/libftlib_i386.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/warsow/libs/libftlib_i386.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/XXX/.warsow-2.0/libs/libref_gl_i386.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/warsow/libs/libref_gl_i386.so", O_RDONLY) = -1 ENOENT (No such file or directory)
pipe([12, 13])                          = 0

However, there exists a

/usr/share/warsow/libs/libref_gl_i686.so -> /usr/libexec/warsow/libref_gl_i686.so

and a

/usr/share/warsow/libs/libftlib_i686.so -> /usr/libexec/warsow/libftlib_i686.so

so why is warsow seeking the _386 versions of these libraries, instead of the _i686 ones? (I use '-march=pentium4' in CFLAGS in make.conf, that's why I have the 'i686' versions).

That's a bug of warsow-2.0.1.


Solution
=======

I hate it so much, but I decided to give it a try with this ugly kludge:

ln -s /usr/share/warsow/libs/libftlib_i686.so /usr/share/warsow/libs/libftlib_i386.so
ln -s /usr/share/warsow/libs/libref_gl_i686.so /usr/share/warsow/libs/libref_gl_i386.so

I did see a fullscreen window for a moment, but I got:

Failed to load UI DLL

so it seemed that more than that was needed:

for lib in $(ls /usr/share/warsow/libs/*_i686.so); do b="$(basename "$lib" _i686.so)"; ln -s /usr/share/warsow/libs/${b}_i686.so /usr/share/warsow/libs/${b}_i386.so; done

i.e. symlink *all* _i686.so libraries as targets of respective _i386.so ones.

WOW! IT WORKED!

Enjoy! :-)
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2016-10-16 06:11:35 UTC

*** This bug has been marked as a duplicate of bug 567392 ***
Comment 2 segmentation fault 2016-10-19 21:17:53 UTC
I've looked twice into bug 567392 and I still fail to see how this one is a duplicate of that one...

...but then, I guess I don't have to understand everything...