Jump to content

new user problems with minimal dataset


TallJimbo

Recommended Posts

I'm a new user trying to build and use the latest GemRB (v0.8.1-41-g3a9b5cd) on Ubuntu 12.04, and after failing repeatedly to figure out how to get the paths right for a real game, I've fallen back to just trying to get the included minimal dataset to work.

 

First problem with that: it appears the installer always sets the paths in the example config file to /usr, even if the actual install path (which is the default) is /usr/local:

 

~ % cat /usr/local/share/gemrb/minimal/fhs.cfg
GameType=test
CaseSensitive=1
Width=1
Height=1
GamePath=/usr/share/gemrb/minimal
GemRBPath=/usr/share/gemrb
GameOverridePath=/data
CachePath=/tmp/cache/
PluginsPath=/usr/lib/gemrb/plugins

That seemed pretty straightforward to fix - just replace "/usr" in all of the above with "/usr/local"; now I get further, but it still doesn't work. It appears to be looking for a number of files; you can find my GemRB.log here: http://pastebin.com/UU7edDR2. Note that it cuts off abruptly because it triggered a assert; in the console I see:

 

Inconsistency detected by ld.so: dl-close.c: 759: _dl_close: Assertion `map->l_init_called' failed!

Finally, I noticed that the GemRB.log originally wasn't being saved by default because I did't have write permissions on the GamePath. That's expected of course, but when I further modified the config file to set SavePath to a writeable location, it didn't write it there either, though I think that's the expected behavior. I got this log just by chmodding /usr/local/share/gemrb/minimal.

 

If someone can confirm that the paths in the installed minimal config are indeed bugs, I might be able to contribute a fix for those, though my CMake is pretty rudimentary. For everything else, I'm definitely out of my depth in figuring out what's going on.

Link to comment

Your log looks fine, except for being cut off due to your crash. You were missing only these, before gemrb would exit:

[ResourceManager/ERROR]: Couldn't find 'svtriobj.ids'.
[GameScript/WARNING]: Couldn't find saved trigger symbols!
[Core]: Initializing keymap tables...
[ResourceManager]: Found 'keymap.2da' in 'shared GemRB Unhardcoded data'.
[KeyMap/WARNING]: There is no 'keymap.ini' file...
[Core/WARNING]: Failed to initialize keymaps.
[Core]: Setting up the Console...
[ResourceManager]: Found 'carot.bam' in 'Data'.
[Core]: Core Initialization Complete!
[GUIScript]: Loading Script Start.
I suggest you run it through gdb if you have any experience with it. It would allow you to find where the assertion (in glibc no less) really was triggered.

 

minimal/fhs.cfg is not reconfigured through cmake as the other two config examples. Making it so is trivial — you could just look at where their names are mentioned and their contents and it should be obvious.

Link to comment

Debugging this in gdb has turned out to be tricky. This must not be a call to the standard C assert macro I'm familiar with, as the stack is empty when the assert trips in the debugger, so I can't get a backtrace.

 

Googling the error message does bring up a number of hits for other packages. I found this one for the kerberos library more helpful than most:

 

https://bugs.launchpad.net/ubuntu/+source/krb5/+bug/1231459

 

Inspired by the discussion there, I did try tinkering with the code a bit to see if I could make it go away with really trivial changes to the GemRB code:

- added RTLD_NODELETE to the dlopen flags

- removed all the calls to dlclose (by redefining the FREE_PLUGIN) macro

 

But neither of these worked, which would seem to debunk the theory that this is some sort of double-dlclose.

 

However, I did discover that the assertion is indeed appearing only on exit, so it's not actually causing me any real trouble. I've since gotten BG2 working with GemRB, and while I see the same message with that, it only happens when I close it down. So I probably won't spend any more of my time tracking this down, unless a curious dev wants me to look at something specific.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...