lianlab / bullet

Automatically exported from code.google.com/p/bullet
0 stars 0 forks source link

Errors on x86_64 #34

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile Bullet on the x86_64 platform

What is the expected output? What do you see instead?
Correctly compiled binaries are expected. Errors occur while trying to
compile Bullet.

What version of the product are you using? On what operating system?
bullet-2.67 on Archlinux (Linux 2.6.24-ARCH #1 SMP PREEMPT x86_64 AMD
Athlon(tm) 64 Processor 3200+ AuthenticAMD)

Please provide any additional information below.

C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuRaycastTaskProcess.o 
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp: In constructor
‘SpuRaycastTaskProcess::SpuRaycastTaskProcess(btThreadSupportInterface*,
unsigned int)’:
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp:27: warning:
comparison between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp: In member function
‘void SpuRaycastTaskProcess::initialize2(void*, int)’:
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp:60: warning:
comparison between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp: In member function
‘void SpuRaycastTaskProcess::issueTask2()’:
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp:82: error: cast from
‘SpuRaycastTaskDesc*’ to ‘uint32_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuRaycastTaskProcess.o -I.
-I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuRaycastTaskProcess.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuRaycastTaskProcess.o ...
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/Win32ThreadSupport.o 
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SequentialThreadSupport.o 
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuParallelSolver.o 
Extras/BulletMultiThreaded/SpuParallelSolver.cpp: In member function
‘virtual void btParallelSequentialImpulseSolver::allSolved(const
btContactSolverInfo&, btIDebugDraw*, btStackAlloc*)’:
Extras/BulletMultiThreaded/SpuParallelSolver.cpp:431: warning: comparison
between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuParallelSolver.cpp: In member function ‘void
SolverTaskScheduler::issueTask()’:
Extras/BulletMultiThreaded/SpuParallelSolver.cpp:569: error: cast from
‘SpuSolverTaskDesc*’ to ‘uint32_t’ loses precision
Extras/BulletMultiThreaded/SpuParallelSolver.cpp: At global scope:
Extras/BulletMultiThreaded/SpuParallelSolver.cpp:234: warning: ‘void
printDependencyMatrix(SpuSolverHash*)’ defined but not used

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuParallelSolver.o -I.
-I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuParallelSolver.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuParallelSolver.o ...
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuLibspe2Support.o 
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuFakeDma.o 
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuBatchRaycaster.o 
./src/LinearMath/btAlignedObjectArray.h: In member function ‘void
SpuBatchRaycaster::addRay(const btVector3&, const btVector3&)’:
./src/LinearMath/btAlignedObjectArray.h:213: warning:
‘workUnitOut.SpuRaycastTaskWorkUnitOut::shapeInfo.btCollisionWorld::LocalShape
Info::m_triangleIndex’
is used uninitialized in this function
Extras/BulletMultiThreaded/SpuBatchRaycaster.cpp:60: note:
‘workUnitOut.SpuRaycastTaskWorkUnitOut::shapeInfo.btCollisionWorld::LocalShape
Info::m_triangleIndex’
was declared here
./src/LinearMath/btAlignedObjectArray.h:213: warning:
‘workUnitOut.SpuRaycastTaskWorkUnitOut::shapeInfo.btCollisionWorld::LocalShape
Info::m_shapePart’
is used uninitialized in this function
Extras/BulletMultiThreaded/SpuBatchRaycaster.cpp:60: note:
‘workUnitOut.SpuRaycastTaskWorkUnitOut::shapeInfo.btCollisionWorld::LocalShape
Info::m_shapePart’
was declared here
./src/LinearMath/btAlignedObjectArray.h:213: warning:
‘workUnit.SpuRaycastTaskWorkUnit::output’ is used uninitialized in this
function
Extras/BulletMultiThreaded/SpuBatchRaycaster.cpp:66: note:
‘workUnit.SpuRaycastTaskWorkUnit::output’ was declared here
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.o 
Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.cpp: In constructor
‘SpuCollisionObjectWrapper::SpuCollisionObjectWrapper(const
btCollisionObject*)’:
Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.cpp:27: error: cast
from ‘const btCollisionObject*’ to ‘ppu_address_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.o
-I. -I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionObjectWrapper.o ...
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuSampleTaskProcess.o 
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp: In constructor
‘SpuSampleTaskProcess::SpuSampleTaskProcess(btThreadSupportInterface*,
unsigned int)’:
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp:69: warning: comparison
between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp: In member function
‘void SpuSampleTaskProcess::initialize()’:
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp:97: warning: comparison
between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp: In member function
‘void SpuSampleTaskProcess::issueTask(void*, int)’:
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp:132: error: cast from
‘SpuSampleTaskDesc*’ to ‘uint32_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuSampleTaskProcess.o -I.
-I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuSampleTaskProcess.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuSampleTaskProcess.o ...
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuGatheringCollisionDispatcher.
o

C++ ./out/linux/optimize/Extras/BulletMultiThreaded/btThreadSupportInterface.o 
C++ ./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionTaskProcess.o 
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp: In constructor
‘SpuCollisionTaskProcess::SpuCollisionTaskProcess(btThreadSupportInterface*, 
unsigned
int)’:
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp:37: warning:
comparison between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp:53: warning: format
‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp: In member function
‘void SpuCollisionTaskProcess::initialize2()’:
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp:85: warning:
comparison between signed and unsigned integer expressions
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp: In member function
‘void SpuCollisionTaskProcess::issueTask2()’:
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp:127: error: cast
from ‘SpuGatherAndProcessPairsTaskDesc*’ to ‘uint32_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionTaskProcess.o
-I. -I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuCollisionTaskProcess.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuCollisionTaskProcess.o ...
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuContactManifoldCollisionAlgor
ithm.o

MkDir1
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask 
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ontactResult.o

Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp: In
function ‘bool ManifoldResultAddContactPoint(const btVector3&, const
btVector3&, float, btPersistentManifold*, btTransform&, btTransform&,
btScalar, btScalar, bool)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp:87:
warning: unused variable ‘contactTreshold’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp: In
member function ‘void
SpuContactResult::writeDoubleBufferedManifold(btPersistentManifold*,
btPersistentManifold*)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp:167:
error: cast from ‘btPersistentManifold*’ to ‘uint32_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ontactResult.o
-I. -I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ontactResult.o
...
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuM
inkowskiPenetrationDepthSolver.o

Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDe
pthSolver.cpp:
In member function ‘virtual bool
SpuMinkowskiPenetrationDepthSolver::calcPenDepth(SpuVoronoiSimplexSolver&,
void*, void*, int, int, float, float, btTransform&, const btTransform&,
btVector3&, btPoint3&, btPoint3&, btIDebugDraw*, btStackAlloc*,
SpuConvexPolyhedronVertexData*, SpuConvexPolyhedronVertexData*) const’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDe
pthSolver.cpp:116:
warning:
‘minNorm.btVector3::<anonymous>.btQuadWord::<anonymous>.btQuadWordStorage::m_z
’
may be used uninitialized in this function
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDe
pthSolver.cpp:116:
warning:
‘minNorm.btVector3::<anonymous>.btQuadWord::<anonymous>.btQuadWordStorage::m_y
’
may be used uninitialized in this function
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDe
pthSolver.cpp:116:
warning:
‘minNorm.btVector3::<anonymous>.btQuadWord::<anonymous>.btQuadWordStorage::m_x
’
may be used uninitialized in this function
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuG
jkPairDetector.o

C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuG
atheringCollisionTask.o

Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In constructor ‘spuNodeCallback::spuNodeCallback(SpuCollisionPairInput*,
CollisionTask_LocalStoreMemory*, SpuContactResult&)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:232:
warning: ‘spuNodeCallback::m_lsMemPtr’ will be initialized after
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:231:
warning:   ‘SpuContactResult& spuNodeCallback::m_spuContacts’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:240:
warning:   when initialized here
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In member function ‘virtual void spuNodeCallback::processNode(int, int)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:262:
error: cast from ‘short int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:263:
error: cast from ‘short int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:264:
error: cast from ‘short int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:274:
error: cast from ‘int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:275:
error: cast from ‘int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:276:
error: cast from ‘int*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:298:
error: cast from ‘btScalar*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:299:
error: cast from ‘btScalar*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:300:
error: cast from ‘btScalar*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In function ‘void ProcessConvexConcaveSpuCollision(SpuCollisionPairInput*,
CollisionTask_LocalStoreMemory*, SpuContactResult&)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:397:
error: cast from ‘btBvhSubtreeInfo*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:338:
warning: unused variable ‘dmaSize’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:339:
warning: unused variable ‘dmaPpuAddress2’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In function ‘void ProcessSpuConvexConvexCollision(SpuCollisionPairInput*,
CollisionTask_LocalStoreMemory*, SpuContactResult&)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:530:
error: cast from ‘btPersistentManifold*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In function ‘void dmaAndSetupCollisionObjects(SpuCollisionPairInput&,
CollisionTask_LocalStoreMemory&)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:562:
error: cast from ‘void*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:566:
error: cast from ‘void*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In function ‘void handleCollisionPair(SpuCollisionPairInput&,
CollisionTask_LocalStoreMemory&, SpuContactResult&, ppu_address_t, void*,
ppu_address_t, void*, bool)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:658:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:659:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:683:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:692:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:714:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:723:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:582:
warning: unused variable ‘dmaSize’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:583:
warning: unused variable ‘dmaPpuAddress2’
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:
In function ‘void processCollisionTask(void*, void*)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:874:
error: cast from ‘void*’ to ‘int’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:883:
error: cast from ‘btCollisionAlgorithm*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:900:
error: cast from ‘btBroadphaseProxy*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:905:
error: cast from ‘btPersistentManifold*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:911:
error: cast from ‘btBroadphaseProxy*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:956:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp:957:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuG
atheringCollisionTask.o
-I. -I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask
.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuG
atheringCollisionTask.o
...
C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuV
oronoiSimplexSolver.o

C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ollisionShapes.o

Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaBvhShapeData(bvhMeshShape_LocalStoreMemory*,
btBvhTriangleMeshShape*)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:29
9:
error: cast from ‘btStridingMeshInterface*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:30
7:
error: cast from ‘btOptimizedBvh*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaBvhIndexedMesh(btIndexedMesh*, IndexedMeshArray&, int,
uint32_t)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:31
6:
error: cast from ‘btIndexedMesh*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaBvhSubTreeNodes(btQuantizedBvhNode*, const
btBvhSubtreeInfo&, QuantizedNodeArray&, int)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:32
7:
error: cast from ‘btQuantizedBvhNode*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaConvexVertexData(SpuConvexPolyhedronVertexData*,
btConvexHullShape*)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:40
0:
error: cast from ‘btPoint3*’ to ‘ppu_address_t’ loses precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaCompoundShapeInfo(CompoundShape_LocalStoreMemory*,
btCompoundShape*, uint32_t)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:41
7:
error: cast from ‘btCompoundShapeChild*’ to ‘ppu_address_t’ loses 
precision
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:
In function ‘void dmaCompoundSubShapes(CompoundShape_LocalStoreMemory*,
btCompoundShape*, uint32_t)’:
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp:42
9:
error: cast from ‘btCollisionShape*’ to ‘ppu_address_t’ loses precision

    g++ -c -o
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ollisionShapes.o
-I. -I./src -I. -pipe -Wall -Wno-unknown-pragmas -fno-exceptions -O3
-fomit-frame-pointer -ffast-math -fPIC -I./Extras/BulletMultiThreaded 
Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp

...failed C++
./out/linux/optimize/Extras/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuC
ollisionShapes.o
...

When trying to investigate this strange error (since it's usually a
warning) I came across http://www.amanith.org/forum/viewtopic.php?id=29
which explains that the pointers are 64bit but are being cast to 32bit
integers.
   "The problem is pointers are 64 bit on a 64 bit machine and an unsigned
int 32 bit. You should be able to replace those unsigned int with a DWORD
or some other equivalent 64 bit integer type."

Original issue reported on code.google.com by xilo...@gmail.com on 7 Mar 2008 at 12:08

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Can you make sure to define USE_ADDR64?

See Bullet\Extras\BulletMultiThreaded\PpuAddressSpace.h

This is only related to BulletMultiThreaded, which is pure optional. You should 
be 
able to compile the core libraries fine 
(BulletCollision/BulletDynamics/LinearMath) 
in 64bit mode.

Alternatively, remove the BulletMultiThreaded project, and it should be be fine.
Thanks,
Erwin

Original comment by erwin.coumans on 7 Mar 2008 at 11:20

GoogleCodeExporter commented 9 years ago

Original comment by erwin.coumans on 8 Mar 2008 at 3:46

GoogleCodeExporter commented 9 years ago
I checked this out in svn 1106 and found that even with USE_ADDR64 there are 
still
some casts from pointers to uint32_t.

Attached is a patch for consideration that introduces a slightly different 
change.
I've replaced instances of ppu_address_t (as well as the uint32_t's that cause
problems) with size_t. Try it out, give it a think.

Original comment by mattb...@gmail.com on 31 Mar 2008 at 2:41

Attachments:

GoogleCodeExporter commented 9 years ago
Well, that patch I posted isn't a complete fix... BulletMultiThreaded compiles 
fine,
but I still have to define USE_ADDR64 to get the demos to build/link correctly. 
So
please disregard or salvage it by replacing size_t with ppu_address_t

Here's what I get if you're curious:

/home/matt/src/bullet-svn-1106/Extras/BulletMultiThreaded/libLibBulletMultiThrea
ded.a(SpuGatheringCollisionTask.o):
In function `ProcessConvexConcaveSpuCollision(SpuCollisionPairInput*,
CollisionTask_LocalStoreMemory*, SpuContactResult&)':
SpuGatheringCollisionTask.cpp:(.text+0xdd6): undefined reference to
`computeAabb(btVector3&, btVector3&, btConvexInternalShape*, unsigned int, int,
btTransform)'
SpuGatheringCollisionTask.cpp:(.text+0x100f): undefined reference to
`dmaBvhSubTreeHeaders(btBvhSubtreeInfo*, unsigned int, int, unsigned int)'
/home/matt/src/bullet-svn-1106/Extras/BulletMultiThreaded/libLibBulletMultiThrea
ded.a(SpuGatheringCollisionTask.o):
In function `handleCollisionPair(SpuCollisionPairInput&,
CollisionTask_LocalStoreMemory&, SpuContactResult&, unsigned long, void*, 
unsigned
long, void*, bool)':
SpuGatheringCollisionTask.cpp:(.text+0x1297): undefined reference to
`dmaCollisionShape(void*, unsigned int, unsigned int, int)'
SpuGatheringCollisionTask.cpp:(.text+0x12b3): undefined reference to
`dmaCollisionShape(void*, unsigned int, unsigned int, int)'
SpuGatheringCollisionTask.cpp:(.text+0x1feb): undefined reference to
`dmaCollisionShape(void*, unsigned int, unsigned int, int)'
SpuGatheringCollisionTask.cpp:(.text+0x2007): undefined reference to
`dmaCollisionShape(void*, unsigned int, unsigned int, int)'
SpuGatheringCollisionTask.cpp:(.text+0x20d4): undefined reference to
`dmaCollisionShape(void*, unsigned int, unsigned int, int)'
/home/matt/src/bullet-svn-1106/Extras/BulletMultiThreaded/libLibBulletMultiThrea
ded.a(SpuGatheringCollisionTask.o):SpuGatheringCollisionTask.cpp:(.text+0x291e):
more undefined references to `dmaCollisionShape(void*, unsigned int, unsigned 
int,
int)' follow

Original comment by mattb...@gmail.com on 31 Mar 2008 at 3:45

GoogleCodeExporter commented 9 years ago

Did you try to simply remove the project BulletMultiThreaded?

This project is mainly for PS3 Cell SPUs and XBox 360. Other platforms haven't 
really been optimized, so it is better to use the non-parallel version: 
btCollisionDispatcher, and btSequentialImpulseConstraintSolver.

We should remove the dependencies of AllBulletDemos to BulletMultiThreaded for 
upcoming Bullet 2.68.

In the meanwhile, I'll see if we can make this compile, but it is low priority 
(unless you really want to start optimizing this BulletMultiThreaded).

Original comment by erwin.coumans on 31 Mar 2008 at 4:18

GoogleCodeExporter commented 9 years ago
Removing BulletMultiThreaded fixes it. I understand that it's low priority, and 
I
agree that the best fix is to simply remove the dependency. Just wanted to see 
if I
could get it to work. :)

Original comment by mattb...@gmail.com on 31 Mar 2008 at 4:52

GoogleCodeExporter commented 9 years ago
We removed it from the CMakeList.txt

Unless we receive a working/tested patch, the work be postponed for later.
Thanks,
Erwin

Original comment by erwin.coumans on 14 Sep 2008 at 6:30