Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Linux Installation issues 2009-02-15 source
05-27-2009, 01:12 AM,
#1
Linux Installation issues 2009-02-15 source
First I'd like to thank the people's making vdrift, it actually compiles on my computer using this release, so now I can finally play this game I've been waiting months to play Big Grin

The installation did cause some problems however, the game would not start as it could not find files. Basically this is what I did:

download latest stable version

unpack bullet

run scons arch=a64 release=1 force_feedback=1

sudo scons install

upon typing 'vdrift' into the terminal I get a message its not found. Is it possible to get the installer to check $PATH and install symlink to one of the directories there?

once I sorted that out vdrift couldnt find the data folder, so I had to move the vdrift binary from the bin folder it automatically installed to into the base vdrift directory. Ie the bin installed to /usr/share/games/vdrift/bin/vdrift and the data installed to /usr/share/games/vdrift/data
I had to move vdrift to /usr/share/games/vdrift/ before it would find the data directory (I'm thinking this is just a simple path problem? Big Grin)

Once that was fixed I still got errors that it could not find shaders/less_simple, it turns out it did not copy a number of the shader directory's to the installed location. It also did not copy a number of the data/textures/effects directory to the installed location either.

I also get the following errors, but these do not cause problems to game functionality (well not in the short time i've tested anyway)

Code:
ERROR: data/skins/simple/menus/AutoX: unknown widget-04 type: designer, ignoring
ERROR: data/skins/simple/menus/Designer: unknown widget-01 type: designer, ignoring
ERROR: data/skins/simple/menus/InGameJoystickCalibrate: unknown widget-03 type: calibrate, ignoring
ERROR: data/skins/simple/menus/InGameJoystickCalibrate: unknown hook reference to InGameJoystickCalibration
ERROR: data/skins/simple/menus/JoystickCalibrate: unknown widget-03 type: calibrate, ignoring
ERROR: data/skins/simple/menus/JoystickCalibrate: unknown hook reference to JoystickCalibration
ERROR: data/skins/simple/menus/NetworkGame: unknown widget-06 type: textbox, ignoring
ERROR: data/skins/simple/menus/NetworkGame: unknown widget-07 type: textbox, ignoring
ERROR: Error setting GUI option "game.number_of_laps" to GAME value "0"
ERROR: force feedback: can not open /dev/input/event0 (Permission denied) [src/forcefeedback.cpp:26]
ERROR: Error setting GUI option "game.number_of_laps" to GAME value "0"
ERROR: Error setting GUI option "game.number_of_laps" to GAME value "0"
ERROR: Error setting GUI option "game.number_of_laps" to GAME value "0"

Also just a thought but it might be helpful if the devs had a bug tracker? makes it easier to see which bugs are solved and which are still to be dealt with Big Grin
Reply
05-27-2009, 06:48 PM,
#2
 
They do have a bug tracker, linked as 'Issues' next to 'SVN':
http://code.google.com/p/vdrift/issues/list
Free Gamer - open source games lists and commentary
http://freegamer.blogspot.com
Reply
05-27-2009, 10:36 PM,
#3
 
The issue with scons install not copying over all files was issue 53 and is closed:
http://code.google.com/p/vdrift/issues/detail?id=53

The other error messages are OK, but should probably be cleaned up before the next release.

Quote:upon typing 'vdrift' into the terminal I get a message its not found. Is it possible to get the installer to check $PATH and install symlink to one of the directories there?

Yeah, that could be done... do other linux programs do this? I don't want to surprise anyone.

Quote:once I sorted that out vdrift couldnt find the data folder, so I had to move the vdrift binary from the bin folder it automatically installed to into the base vdrift directory. Ie the bin installed to /usr/share/games/vdrift/bin/vdrift and the data installed to /usr/share/games/vdrift/data
I had to move vdrift to /usr/share/games/vdrift/ before it would find the data directory (I'm thinking this is just a simple path problem?

I'm not sure why you'd need to move the vdrift binary; it checks for a VDRIFT_DATA_DIRECTORY environment variable first, then looks for a relative "data" directory, then looks for whatever the compiled prefix is (by default I think it's /usr/share/games/vdrift/data)... regardless of where the binary is. I will add more verbosity to the next release so this is easier to troubleshoot.
Reply
05-27-2009, 10:38 PM,
#4
 
I added an issue to clean up the error messages:
http://code.google.com/p/vdrift/issues/detail?id=166

And for the symlink:
http://code.google.com/p/vdrift/issues/detail?id=167
Reply
05-28-2009, 05:20 AM,
#5
 
thanks for replies and thanks for pointing out the bug tracker XP

I have just confirmed that vdrift is installed in /usr/share/games/vdrift
Code:
/usr/share/games/vdrift$ ls
bin  data  vdrift

on further investigation of the paths issue, I have found that if I run from the /usr/share/games/vdrift/bin directory and type ./vdrift I can also type vdrift (which runs using the symlink that i created in /usr/bin), this works fine.

However if I then change directory to my home directory and type
vdrift
(which will cause it to run using the symlink just as before), the game gives me
Code:
ERROR: Shader file not found: data/shaders/simple/vertex.glsl
vdrift: src/shader.cpp:131: void SHADER_GLSL::LoadFileIntoString(const std::string&, std::string&, std::ostream&) const: Assertion `f' failed.
SIGABRT detected, releasing the mouse
the same issue occurs when i run it like exec /usr/share/games/vdrift/bin/vdrift

so the binary cannot find the files on my system if the current directory is not one of /usr/share/games/vdrift or /usr/share/games/vdrift/bin. I think from this, that it does not check /usr/share/games/vdrift for the data folder, maybe it checks for ../data and ./data? which is not necessarily the same thing (as in this case).

I have not set the VDRIFT_DATA_DIRECTORY environment variable and the installer has not set it.
Code:
cmaster@cmaster-desktop:~$ $VDRIFT_DATA_DIRECTORY
cmaster@cmaster-desktop:~$

When you say it checks for what the compiled prefix is does that mean it checks for the prefix that you used when you ran scons? Because I did not set any prefix there which would cause this to fail.

About the symlink thing, most programs will install there binary's to either of /usr/bin /usr/local/bin so it is not usually necessary to symlink the binary to one of these directory's.
Perhaps the best way to fix these issues would be:
1) Install the binary to one of /usr/bin or /usr/local/bin as default
(you could of course keep the current way of installing and symlink it, this should work fine as well)
2) Ensure the game checks /usr/share/games/vdrift whether it is the compile prefix or not
3) Explain in these pages:
http://wiki.vdrift.net/Installing_on_Linux
http://wiki.vdrift.net/Compiling
That if you installed vdrift data to a different directory than /usr/share/games/vdrift you may need to set the environment variable you mentioned.

thanks for your help Smile
Reply
05-28-2009, 10:04 AM,
#6
 
Quote:I have not set the VDRIFT_DATA_DIRECTORY environment variable and the installer has not set it.
That's good, it doesn't need to be set for normal users and is nothing to worry about.

Quote:When you say it checks for what the compiled prefix is does that mean it checks for the prefix that you used when you ran scons? Because I did not set any prefix there which would cause this to fail.

If you don't specify anything when running scons, it defaults to /usr/share/games/vdrift

nzadlithium Wrote:on further investigation of the paths issue, I have found that if I run from the /usr/share/games/vdrift/bin directory and type ./vdrift I can also type vdrift (which runs using the symlink that i created in /usr/bin), this works fine.

However if I then change directory to my home directory and type
vdrift
(which will cause it to run using the symlink just as before), the game gives me
Code:
ERROR: Shader file not found: data/shaders/simple/vertex.glsl
vdrift: src/shader.cpp:131: void SHADER_GLSL::LoadFileIntoString(const std::string&, std::string&, std::ostream&) const: Assertion `f' failed.
SIGABRT detected, releasing the mouse
the same issue occurs when i run it like exec /usr/share/games/vdrift/bin/vdrift

so the binary cannot find the files on my system if the current directory is not one of /usr/share/games/vdrift or /usr/share/games/vdrift/bin. I think from this, that it does not check /usr/share/games/vdrift for the data folder, maybe it checks for ../data and ./data? which is not necessarily the same thing (as in this case).

I'm still not sure why this is happening. If you don't mind, could you experiment a bit more? Put it in the place where the scons install process put it, run it from the console, and check the text output? One of the first things it prints out is "INFO: Data directory:". I'm curious where it's looking and not finding the files with everything in their default spots.

You know, I just had an idea; VDrift checks for paths in an order and looks for ./data and uses that if it exists before checking /usr/share/games/vdrift/data. If you run vdrift from your home directory, it may be finding a ~/data directory that you created and thinking that's where its data is, then failing to find any of its data files there, and quitting!
Reply
05-28-2009, 10:08 AM,
#7
 
Okay, as of SVN R2470 VDrift will now discern between its ./data directory and a ./data directory that the user just might have on their system. It checks for the data/settings/options.config file, which will hopefully only exist in the VDrift data and not in a data directory created by the user. :-)
Reply
05-29-2009, 12:56 AM,
#8
 
this is what was causing the error, if I run from /bin instead of /home/cmaster it runs fine. Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)