Forums

Full Version: Building and running SVN version fails?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

I am having problems getting the SVN-version of Vdrift (checked out r1986 (and r182 of vdrift-data) on 26.04.2008) up an running here on linux (to be precise: an Ubuntu 8.04 running in a VMware Fusion virtual machine on my first gen MacBook). I followed the instructions in the Wiki ("Getting the development version", "Compiling"). As far as I know, I did everything correct, compilation finished without any recognizable errors (used a simple "scons" without any parameters). Installing the build (using "sudo scons install") ends up with scons telling me that ...

Code:
hjochim@UbuntuVM:~/Desktop/vdrift$ sudo scons install
scons: Reading SConscript files ...
Checking for C++ header file GL/gl.h... (cached) yes
Checking for C++ header file GL/glu.h... (cached) yes
Checking for C++ header file SDL/SDL.h... (cached) yes
Checking for C++ header file SDL/SDL_image.h... (cached) yes
Checking for C++ header file SDL/SDL_net.h... (cached) yes
Checking for C++ header file SDL/SDL_rotozoom.h... (cached) yes
Checking for C++ header file vorbis/vorbisfile.h... (cached) yes
Checking for C++ header file GL/glew.h... (cached) yes
This system is not configured for internationalized applications (no xgettext command). An english-only version will be built

Checking for C header file libintl.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
Install file: "build/vdrift" as "/usr/share/games/vdrift/bin/vdrift"
scons: ***
scons: building terminated because of errors.

Trying to run Vdrift ends up with ...

Code:
hjochim@UbuntuVM:/usr/share/games/vdrift/bin$ ./vdrift
BinReloc successfully initialized.
Executable path: /usr/share/games/vdrift/bin/vdrift
Data dir: /usr/share/games/vdrift/data
No data_dir found in VDrift.config, using /usr/share/games/vdrift/data
Found config file /home/hjochim/.vdrift/controls.config.
Found config file /home/hjochim/.vdrift/VDrift.config.
No data_dir found in VDrift.config, using /usr/share/games/vdrift/data
Version of game: development-full
Skin name not found in config file...
Warning: option-47 is missing its default value. Assuming "".
Run with -verbose for troubleshooting.
Run with -nosound to disable sound.
Run with -benchmark to play a replay and output benchmark data.
0 joystick(s) found:
Extension not supported: GL_EXT_texture_filter_anisotropic
Card supports: drawbuf4 auxbuf0 antialiasing cubemapping shaders multitexturing8(8) texture_rectangle depth_texture shadow framebuffer_objects
Card does not support: anisotropy
Status: Using GLEW 1.5.0
Fragment shaders enabled
Segmentation fault

(Using -verbose as start-up flag does not give me any more information).
Any hints?

TIA

HJochim
i can't help you with the actual problem (not being a scons expert and all), but i don't think you can actually RUN vdrift in vmware anyway.

vmware doesn't have any kind of 3D acceleration for opengl yet (only dx8 on win32), so i doubt you'd get more than a frame every few seconds.

also the integrated graphics in the macbook already have a hard time running vdrift native, so running it under virtualization (even if it had 3d acceleration) isn't going to work fine.
Normally when building VDrift you would run:
Code:
scons
sudo scons install

You only posted the results of the "sudo scons install" step. Did the scons part run OK?

Also, abs1nth is correct in that your chances of being able to run VDrift at a playable framerate are... not good.
joevenzon Wrote:You only posted the results of the "sudo scons install" step. Did the scons part run OK?

Yes, like I said, the compilation itself finished without any errors. Right now I am setting up a dual-boot environment on my MacBook so I can run Linux natively. So hopefully this was only a problem of the virtual machine.

Edit:

Now I tried to compile/install the SVN version of Vdrift mentioned above on Ubuntu 8.04 (dual-boot environment instead of virtual machine).

Seems to be the same problem: compilation finishes without any errors, but sudo scons install gives me:

Code:
...
g++ -o build/gui/slider.o -c -Wall -g3 -Iinclude -Ibullet-2.66/src src/gui/slider.cpp
g++ -o build/gui/spinning_car.o -c -Wall -g3 -Iinclude -Ibullet-2.66/src src/gui/spinning_car.cpp
g++ -o build/gui/textbox.o -c -Wall -g3 -Iinclude -Ibullet-2.66/src src/gui/textbox.cpp
g++ -o build/gui/toggle.o -c -Wall -g3 -Iinclude -Ibullet-2.66/src src/gui/toggle.cpp
Install file: "build/vdrift" as "/usr/share/games/vdrift/bin/vdrift"
scons: ***
scons: building terminated because of errors.

And trying to start Vdrift up gives me:

Code:
BinReloc successfully initialized.
Executable path: /usr/share/games/vdrift/bin/vdrift
Data dir: /usr/share/games/vdrift/data
CONFIGFILE.Load: Couldn't find file:  /home/hjochim/.vdrift/VDrift.config
No data_dir found in VDrift.config, using /usr/share/games/vdrift/data
Can't find the settings directory at "/home/hjochim/.vdrift". Making a new one...
Missing /home/hjochim/.vdrift/controls.config file, copying.
Found config file /home/hjochim/.vdrift/VDrift.config.
No data_dir found in VDrift.config, using /usr/share/games/vdrift/data
Version of game: development-full
Skin name not found in config file...
Warning: option-47 is missing its default value. Assuming "".
Run with -verbose for troubleshooting.
Run with -nosound to disable sound.
Run with -benchmark to play a replay and output benchmark data.
0 joystick(s) found:
Extension not supported: GL_EXT_framebuffer_object
Card supports: drawbuf0 auxbuf0 antialiasing anisotropy2 cubemapping shaders multitexturing8(8) texture_rectangle depth_texture shadow
Card does not support: framebuffer_objects
Status: Using GLEW 1.5.0
OpenGL error during graphics init
Fragment shaders enabled
Segmentation fault

Followed the instructions mentioned in the Wiki.

Edit 2:

Just for comparison: compiling and running the SVN version mentioned above under MacOS X works flawlessly (I just have to manually copy Vdrift.app to the folder that includes the data-folder). The reason I want to use Vdirft with Linux instead of MacOS X: I want to test force-feedback which seems to be not yet implemented in MacOS X.
Try starting up the game using gdb. After it segfaults, it should dump you into a command line where you can run the bt command, which prints out a backtrace. If you copy & paste that here I can take a look at it and it might give us some ideas.
Here you are, hope it helps:

Code:
hjochim@MacBook:~/vdrift/vdrift/build$ gdb vdrift
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /home/hjochim/vdrift/vdrift/build/vdrift
[Thread debugging using libthread_db enabled]
BinReloc successfully initialized.
Executable path: /home/hjochim/vdrift/vdrift/build/vdrift
Data dir: /home/hjochim/vdrift/vdrift/data
No data_dir found in VDrift.config, using /home/hjochim/vdrift/vdrift/data
Found config file /home/hjochim/.vdrift/controls.config.
Found config file /home/hjochim/.vdrift/VDrift.config.
No data_dir found in VDrift.config, using /home/hjochim/vdrift/vdrift/data
Version of game: development-full
Skin name not found in config file...
Directory /home/hjochim/vdrift/vdrift/data/skins/.svn/menus does not exist! Skin .svn not loaded.
Directory /home/hjochim/vdrift/vdrift/data/skins/SConscript/menus does not exist! Skin SConscript not loaded.
Warning: option-47 is missing its default value. Assuming "".
[New Thread 0xb77156c0 (LWP 6574)]
Run with -verbose for troubleshooting.
Run with -nosound to disable sound.
Run with -benchmark to play a replay and output benchmark data.
0 joystick(s) found:
Extension not supported: GL_EXT_framebuffer_object
Card supports: drawbuf0 auxbuf0 antialiasing anisotropy2 cubemapping shaders multitexturing8(8) texture_rectangle depth_texture shadow
Card does not support: framebuffer_objects
Status: Using GLEW 1.5.0
OpenGL error during graphics init
Fragment shaders enabled

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb77156c0 (LWP 6574)]
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x081140d7 in SHADER::Load (this=0x85c67dc, name=@0xbf8229fc)
    at src/shader.cpp:25
#2  0x08114b43 in SHADER_MANAGER::Load (this=0x823ba98, name=@0xbf8229fc)
    at src/shader.cpp:293
#3  0x0805d8ed in GRAPHICS::Init (this=0x823b984) at src/graphics.cpp:68
#4  0x08068f43 in GAME::Start (this=0x8239c00, args=@0xbf822d58)
    at src/game.cpp:1502
#5  0x08051cf4 in main (argc=1, argv=0xbf822e14) at src/main.cpp:26
I've seen this happen before when there are shader issues. What graphics card do you have? Try setting shaders=off in your VDrift.config file.
It's an Intel GMA 950 with 64MB shared RAM. And yes, turning shaders off worked! :-) Thanks a lot.