Forums
compiling vdrift - Printable Version

+- Forums (https://www.vdrift.net/Forum)
+-- Forum: Community (https://www.vdrift.net/Forum/forumdisplay.php?fid=3)
+--- Forum: Help (https://www.vdrift.net/Forum/forumdisplay.php?fid=5)
+--- Thread: compiling vdrift (/showthread.php?tid=1039)



compiling vdrift - nzadlithium - 12-21-2008

Well I got throught the first problem, it couldn't find half of the c library... turns out its coz of the #include_next in some of the headers the latest gnu compiler uses, i replaced them all with #include, then bullet built fine and vdrift gets a little closer to being built XD

Basically my problem now is
In function `COLLISION_WORLD::Init()':
collision_detection.cppSad.text+0x3c5): undefined reference to `btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(btStackAlloc*, btPoolAllocator*, btPoolAllocator*)'

So how do I get it to find it? XD I'm compiling from svn.


- nzadlithium - 12-25-2008

complete output from compile

Code:
scons arch=a64 release=1
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
Checking for C header file libintl.h... (cached) yes

scons: warning: The env.Copy() method is deprecated; use the env.Clone() method instead.
File "/home/cmaster/vdrift/po/SConscript", line 167, in <module>
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/forcefeedback.o -c -Wall -O1 -pipe -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet-2.68/src -I/usr/include/SDL src/forcefeedback.cpp
g++ -o build/game.o -c -Wall -O1 -pipe -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet-2.68/src -I/usr/include/SDL src/game.cpp
g++ -o build/main.o -c -Wall -O1 -pipe -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet-2.68/src -I/usr/include/SDL src/main.cpp
g++ -o build/pathmanager.o -c -Wall -O1 -pipe -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet-2.68/src -I/usr/include/SDL src/pathmanager.cpp
g++ -o build/serialization.o -c -Wall -O1 -pipe -march=athlon64 -D_GNU_SOURCE=1 -D_REENTRANT -Iinclude -Ibullet-2.68/src -I/usr/include/SDL src/serialization.cpp
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h: In member function ‘void SERIALIZER::SerializeList(std::string, std::list<U, std::allocator<_Tp1> >&) [with U = TEST_FRAMEWORK::TEST_VERTEX]’:
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h:108: warning: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::z’ may be used uninitialized in this function
include/serialization.h:115: note: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::z’ was declared here
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h:108: warning: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::y’ may be used uninitialized in this function
include/serialization.h:115: note: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::y’ was declared here
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h:108: warning: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::x’ may be used uninitialized in this function
include/serialization.h:115: note: ‘tempobj.TEST_FRAMEWORK::TEST_VERTEX::x’ was declared here
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h: In member function ‘void SERIALIZER::SerializeList(std::string, std::list<U, std::allocator<_Tp1> >&) [with U = int]’:
/home/usr/bin/../lib/gcc/../../include/c++/4.3/ext/new_allocator.h:108: warning: ‘tempobj’ may be used uninitialized in this function
include/serialization.h:115: note: ‘tempobj’ was declared here
g++ -o build/vdrift build/aabb.o build/aabb_space_partitioning.o build/bezier.o build/car.o build/carcontrolmap_local.o build/collision_detection.o build/configfile.o build/containeralgorithm.o build/coordinatesystems.o build/endian_utility.o build/eventsystem.o build/fbtexture.o build/font.o build/forcefeedback.o build/game.o build/game_render.o build/graphics.o build/gui.o build/guipage.o build/joepack.o build/k1999.o build/linearframe.o build/main.o build/mathvector.o build/model.o build/model_joe03.o build/opengl_utility.o build/optional.o build/parallel_task.o build/particle.o build/pathmanager.o build/performance_testing.o build/quaternion.o build/replay.o build/reseatable_reference.o build/rigidbody.o build/rotationalframe.o build/scenegraph.o build/serialization.o build/settings.o build/shader.o build/sound.o build/text_draw.o build/texture.o build/timer.o build/toggle.o build/track.o build/track_object.o build/trackmap.o build/vertexarray.o -Lbuild -Lsrc -Llib -L/usr/lib -L/usr/X11R6/lib -Lbullet-2.68/out/linux/optimize/libs -Lbullet-2.68/out/linuxx86/optimize/libs -lSDL -lGL -lGLU -lGLEW -lSDL_image -lSDL_net -lSDL_gfx -lbulletcollision -lbulletmath -lvorbisfile
build/collision_detection.o: In function `COLLISION_WORLD::Init()':
collision_detection.cpp:(.text+0x3c5): undefined reference to `btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(btStackAlloc*, btPoolAllocator*, btPoolAllocator*)'
build/collision_detection.o: In function `COLLISION_WORLD::CollideRay(MATHVECTOR<float> const&, MATHVECTOR<float> const&, float, std::list<COLLISION_CONTACT, std::allocator<COLLISION_CONTACT> >&, COLLISION_SETTINGS const&) const':
collision_detection.cpp:(.text+0x1239): undefined reference to `btCollisionWorld::rayTestSingle(btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&, short)'
collect2: ld returned 1 exit status
scons: *** [build/vdrift] Error 1
scons: building terminated because of errors.



- joevenzon - 12-29-2008

Have you built bullet according to the instructions here?
http://wiki.vdrift.net/Compiling#Bullet

If so, the problem may be a conflicting version of bullet. Run
Code:
sudo updatedb
locate libbulletcollision.a

and see if any files are listed in a system library path. If so, they may be conflicting with the version of bullet that comes with VDrift.