Bullet won't install

jiapei100
Posts: 11
Joined: Tue Nov 17, 2009 4:47 pm

Bullet won't install

Post by jiapei100 »

Hi, all:

I'm trying to install bullet 2.76, but failed with the following error messages:
Linking CXX executable makesdna
CMakeFiles/makesdna.dir/makesdna.o: In function `btAlignedObjectArray<int>::~btAlignedObjectArray()':
makesdna.cpp:(.text._ZN20btAlignedObjectArrayIiED1Ev[btAlignedObjectArray<int>::~btAlignedObjectArray()]+0x44): undefined reference to `btAlignedFreeInternal(void*)'
CMakeFiles/makesdna.dir/makesdna.o: In function `btTriangleInfoMap::~btTriangleInfoMap()':
makesdna.cpp:(.text._ZN17btTriangleInfoMapD0Ev[btTriangleInfoMap::~btTriangleInfoMap()]+0xe4): undefined reference to `btAlignedFreeInternal(void*)'
makesdna.cpp:(.text._ZN17btTriangleInfoMapD0Ev[btTriangleInfoMap::~btTriangleInfoMap()]+0xf4): undefined reference to `btAlignedFreeInternal(void*)'
makesdna.cpp:(.text._ZN17btTriangleInfoMapD0Ev[btTriangleInfoMap::~btTriangleInfoMap()]+0x104): undefined reference to `btAlignedFreeInternal(void*)'
makesdna.cpp:(.text._ZN17btTriangleInfoMapD0Ev[btTriangleInfoMap::~btTriangleInfoMap()]+0x114): undefined reference to `btAlignedFreeInternal(void*)'
CMakeFiles/makesdna.dir/makesdna.o:makesdna.cpp:(.text._ZN17btTriangleInfoMapD0Ev[btTriangleInfoMap::~btTriangleInfoMap()]+0x150): more undefined references to `btAlignedFreeInternal(void*)' follow
CMakeFiles/makesdna.dir/makesdna.o:(.rodata._ZTV17btTypedConstraint[vtable for btTypedConstraint]+0x30): undefined reference to `btTypedConstraint::serialize(void*, btSerializer*) const'
collect2: ld returned 1 exit status
make[2]: *** [Extras/Serialize/makesdna/makesdna] Error 1
make[1]: *** [Extras/Serialize/makesdna/CMakeFiles/makesdna.dir/all] Error 2
make: *** [all] Error 2
Can anybody help please?
I ticked "install extra" when configuring by "ccmake" .

Best Regards
JIA
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Bullet won't install

Post by Erwin Coumans »

Please try using static libraries.

It seems you enabled a few extra settings? The makesdna project should not be build (it is for our internal serialization purposes)

Thanks,
Erwin
jiapei100
Posts: 11
Joined: Tue Nov 17, 2009 4:47 pm

Re: Bullet won't install

Post by jiapei100 »

Hi, yearh.

Thanks. After removing "extras", everything builds fine and now installed.

Best Regards
JIa
Erwin Coumans wrote:Please try using static libraries.

It seems you enabled a few extra settings? The makesdna project should not be build (it is for our internal serialization purposes)

Thanks,
Erwin
tevghenii
Posts: 3
Joined: Sat Apr 30, 2011 12:42 pm

Re: Bullet won't install

Post by tevghenii »

Hello,

I am trying to extend bullet serialization and add my own structures to the .bullet file using instructions from the wiki page
http://bulletphysics.org/mediawiki-1.5. ... ile_format

When I set options BUILD_EXTRA and INTERNAL_UPDATE_SERIALIZATION_STRUCTURES I get errors same as jiapei100:

Code: Select all

Linking CXX executable makesdna
Undefined symbols:
  "btAlignedFreeInternal(void*)", referenced from:
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
      btTriangleInfoMap::~btTriangleInfoMap()in makesdna.o
  "btTypedConstraint::serialize(void*, btSerializer*) const", referenced from:
      vtable for btTypedConstraintin makesdna.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [Extras/Serialize/makesdna/makesdna] Error 1
make[1]: *** [Extras/Serialize/makesdna/CMakeFiles/makesdna.dir/all] Error 2
make: *** [all] Error 2

Does anybody know how to build makesdna? I need it to update bullet dna.

Thanks,
Evghenii
tevghenii
Posts: 3
Joined: Sat Apr 30, 2011 12:42 pm

Re: Bullet won't install

Post by tevghenii »

Hi,

Is anybody there?

Thanks for any help and ideas.

Evghenii.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Bullet won't install

Post by Erwin Coumans »

Adding custom serialization structures to Bullet is possible, but much more complicated than fixing this link error. You will have to put more effort in this by yourself, if you really want this.

thanks,
Erwin
tevghenii
Posts: 3
Joined: Sat Apr 30, 2011 12:42 pm

Re: Bullet won't install

Post by tevghenii »

Thank you for answer!

At the moment I have added data structures for all my custom classes and have implemented serialize method similar to btRigidBody's serialize in my classes.
As I understand from instructions next step is generating dna that will have my own data structures in file

Code: Select all

Bullet/src/LinearMath/btSerializer.cpp
.

I can't build makesdna because of these linker errors, I stopped at this step. I will very appreciate if you will give me some info about these error.

Can you write how complicate will be to do serialization of custom classes that are subclasses of btRigidBody? Do I need to make changes in btBulletWorldImporter?

Thanks.