Forums » Bugs
segmentation fault under linux (with solution)
If I execute vendetta under $HOME/.vendetta it gives me a segmentation fault. This didn't occur before the update to .74.
~/.vendetta$ ./vendetta
Segmentation fault
I understand that the normal way to execute vendetta is via the $HOME/bin/vendetta command. I'm a computer scientist, I like to poke around.
Regardless, $HOME/bin/vendetta doesn't do a whole lot. It seems to just spawn $HOME/.vendetta/update.rlb which in turn spawns $HOME/.vendetta/vendetta with a working directory of $HOME/.vendetta
Fortunately, I've solved this all on my own, with some assistance from errors.log:
~/.vendetta$ more errors.log
wtf!archive returned 0
[Sat Jun 6 18:50:34 2009] Can't load driver /home/----/.vendetta/drivers/gkvc.so: libfmodex64.so: cannot open shared object fi
le: No such file or directory
[Sat Jun 6 18:50:34 2009] Found driver: "ALSA driver". Type 1, Version 8.1. Load @0x0263c350
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37995a7c0
[Sat Jun 6 18:50:34 2009] Found driver: "OpenGL Reference GKGL driver". Type 5, Version 72.0. Load @0x0263e1e0
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37973e540
[Sat Jun 6 18:50:34 2009] Found driver: "Open Sound System driver". Type 1, Version 8.1. Load @0x0263f510
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe378b6d010
The solution was almost obvious...
What does ldd show?
~/.vendetta$ ldd ./vendetta | grep "not found"
[no output]
Hmmm... perhaps gkvc needs libfmodex64?
~/.vendetta$ ldd drivers/gkvc.so | grep "not found"
libfmodex64.so => not found
Ah!
~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ldd drivers/gkvc.so | grep "not found"
[no output]
So that worked... one more step...
~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ./vendetta
[game launches]
Bingo.
OK so maybe this isn't an especially critical bug (it may even be intentional!), but in case it is not, I wanted to inform the devs of my findings.
~/.vendetta$ ./vendetta
Segmentation fault
I understand that the normal way to execute vendetta is via the $HOME/bin/vendetta command. I'm a computer scientist, I like to poke around.
Regardless, $HOME/bin/vendetta doesn't do a whole lot. It seems to just spawn $HOME/.vendetta/update.rlb which in turn spawns $HOME/.vendetta/vendetta with a working directory of $HOME/.vendetta
Fortunately, I've solved this all on my own, with some assistance from errors.log:
~/.vendetta$ more errors.log
wtf!archive returned 0
[Sat Jun 6 18:50:34 2009] Can't load driver /home/----/.vendetta/drivers/gkvc.so: libfmodex64.so: cannot open shared object fi
le: No such file or directory
[Sat Jun 6 18:50:34 2009] Found driver: "ALSA driver". Type 1, Version 8.1. Load @0x0263c350
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37995a7c0
[Sat Jun 6 18:50:34 2009] Found driver: "OpenGL Reference GKGL driver". Type 5, Version 72.0. Load @0x0263e1e0
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37973e540
[Sat Jun 6 18:50:34 2009] Found driver: "Open Sound System driver". Type 1, Version 8.1. Load @0x0263f510
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe378b6d010
The solution was almost obvious...
What does ldd show?
~/.vendetta$ ldd ./vendetta | grep "not found"
[no output]
Hmmm... perhaps gkvc needs libfmodex64?
~/.vendetta$ ldd drivers/gkvc.so | grep "not found"
libfmodex64.so => not found
Ah!
~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ldd drivers/gkvc.so | grep "not found"
[no output]
So that worked... one more step...
~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ./vendetta
[game launches]
Bingo.
OK so maybe this isn't an especially critical bug (it may even be intentional!), but in case it is not, I wanted to inform the devs of my findings.
Yeah.. I found out the same thing a while back. Although even 1.8.74 segfault, voice chat is just disabled.
Fmod only seems to be distributed as a shared library and is probably required by the teamspeak sdk, which likely doesn't come with sources either.
I wouldn't really consider it a bug anyway. Most games do some library path trickery to load bundled libs from the game directory.
Fmod only seems to be distributed as a shared library and is probably required by the teamspeak sdk, which likely doesn't come with sources either.
I wouldn't really consider it a bug anyway. Most games do some library path trickery to load bundled libs from the game directory.
Thanks for your post. It was very helpful!
Yeah, gkvc requires fmod. They are provided by Teamspeak.