building errors, PLSM2 SDK in linux

rastaman

28-12-2005 07:34:18

Hi all
I'm trying to build PLSM2 in linux with ogre 1.0.5. I downloaded the SDK version and copied the autotools stuff from root in ogreaddons/plsm, the other make files where there. got it to bootstrap and configure.

just this error when i make, any ideas?

OgrePagingLandScapeOgreOctree.cpp:61: error: no 'void Ogre::PagingLandScapeOctree::_getChildIndexes(const Ogre::AxisAlignedBox&, int&, int&, int&) const' member function declared in class 'Ogre::PagingLandScapeOctree'
OgrePagingLandScapeOgreOctree.cpp: In member function 'virtual Ogre::OcclusionBoundingBox* Ogre::PagingLandScapeOctree::getOcclusionBoundingBox()':
OgrePagingLandScapeOgreOctree.cpp:162: error: cannot convert 'Ogre::WireBoundingBox*' to 'Ogre::OcclusionBoundingBox*' in assignment
OgrePagingLandScapeOgreOctree.cpp: At global scope:
OgrePagingLandScapeOgreOctree.cpp:168: error: no 'void Ogre::PagingLandScapeOctree::_addToRenderQueue(Ogre::Camera*, Ogre::RenderQueue*, bool)' member function declared in class 'Ogre::PagingLandScapeOctree'
OgrePagingLandScapeOgreOctree.cpp:180: error: no 'void Ogre::PagingLandScapeOctree::_addAlreadyNotifiedToRenderQueue(Ogre::Camera*, Ogre::RenderQueue*, bool)' member function declared in class 'Ogre::PagingLandScapeOctree'
make[4]: *** [OgrePagingLandScapeOgreOctree.lo] Error 1
make[4]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk'
make: *** [all] Error 2

tuan kuranes

28-12-2005 11:52:48

remove OgrePagingLandScapeOctree.cpp, it shouldn't be compiled.
Correct file is OgrePagingLandScapeOgreOctree.cpp.
Make sure you have this one compiled.

rastaman

28-12-2005 17:42:12

remove OgrePagingLandScapeOctree.cpp, it shouldn't be compiled.
Correct file is OgrePagingLandScapeOgreOctree.cpp.
Make sure you have this one compiled.

umm that is the file being compiled, the one with "Ogre" twice. Maybe you had that backwards so i changed to use the one with 1 Ogre. OgrePagingLandScapeOctree.cpp


it gose a littal farther now but gets this.


OgrePagingLandScapeOctreeSceneManager.cpp: In member function 'virtual void Ogre::PagingLandScapeOctreeSceneManager::_findVisibleObjects(Ogre::Camera*, bool)':
OgrePagingLandScapeOctreeSceneManager.cpp:1002: error: no matching function for call to 'Ogre::PagingLandScapeOctree::traversal(Ogre::ViewFrustumCullingTraversalDirect)'
../../../PlugIns/PagingLandScape2/include/OgrePagingLandScapeOctree.h:150: note: candidates are: virtual void Ogre::PagingLandScapeOctree::traversal(Ogre::Traversal&)
../../../PlugIns/PagingLandScape2/include/OgrePagingLandScapeOctree.h:154: note: virtual void Ogre::PagingLandScapeOctree::traversal(const Ogre::TraversalConst&)
../../../PlugIns/PagingLandScape2/include/OgrePagingLandScapeOctree.h:158: note: virtual void Ogre::PagingLandScapeOctree::traversal(const Ogre::ConstTraversalConst&) const
make[4]: *** [OgrePagingLandScapeOctreeSceneManager.lo] Error 1
make[4]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk'
make: *** [all] Error 2

rastaman

28-12-2005 22:42:46

well after THE POWER CAME BACK ON. I can see the line where it errors.
had to change OgrePagingLandScapeOctreeSceneManager.cpp at line 1002
was
mPagingLandScapeOctree->traversal ( ViewFrustumCullingTraversalDirect(mOcclusion));
change to
mPagingLandScapeOctree->traversal( *(new ViewFrustumCullingTraversalDirect(mOcclusion)) );


now im getting this:

OgrePagingLandScapeOcclusion.cpp:479:2: warning: no newline at end of file
/usr/include/c++/4.0.2/bits/stl_heap.h: In function 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Ogre::OcclusionElement**, std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> > >, _Distance = int, _Tp = Ogre::OcclusionElement*, _Compare = Ogre::FrontToBackNodeSorterOperator]':
/usr/include/c++/4.0.2/bits/stl_heap.h:404: instantiated from 'void std::make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Ogre::OcclusionElement**, std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> > >, _Compare = Ogre::FrontToBackNodeSorterOperator]'
/usr/include/c++/4.0.2/bits/stl_queue.h:369: instantiated from 'std::priority_queue<_Tp, _Sequence, _Compare>::priority_queue(const _Compare&, const _Sequence&) [with _Tp = Ogre::OcclusionElement*, _Sequence = std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> >, _Compare = Ogre::FrontToBackNodeSorterOperator]'
OgrePagingLandScapeOcclusion.cpp:216: instantiated from here
/usr/include/c++/4.0.2/bits/stl_heap.h:279: error: no match for call to '(Ogre::FrontToBackNodeSorterOperator) (Ogre::OcclusionElement*&, Ogre::OcclusionElement*&)'
../../../PlugIns/PagingLandScape2/include/OgrePagingLandScapeOcclusionSorter.h:16: note: candidates are: bool Ogre::FrontToBackNodeSorterOperator::operator()(const Ogre::OcclusionElement*&, const Ogre::OcclusionElement*&) const
/usr/include/c++/4.0.2/bits/stl_heap.h: In function 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Ogre::OcclusionElement**, std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> > >, _Distance = int, _Tp = Ogre::OcclusionElement*, _Compare = Ogre::FrontToBackNodeSorterOperator]':
/usr/include/c++/4.0.2/bits/stl_heap.h:203: instantiated from 'void std::push_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<Ogre::OcclusionElement**, std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> > >, _Compare = Ogre::FrontToBackNodeSorterOperator]'
/usr/include/c++/4.0.2/bits/stl_queue.h:432: instantiated from 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const typename _Sequence::value_type&) [with _Tp = Ogre::OcclusionElement*, _Sequence = std::vector<Ogre::OcclusionElement*, std::allocator<Ogre::OcclusionElement*> >, _Compare = Ogre::FrontToBackNodeSorterOperator]'
OgrePagingLandScapeOcclusion.cpp:224: instantiated from here
/usr/include/c++/4.0.2/bits/stl_heap.h:166: error: no match for call to '(Ogre::FrontToBackNodeSorterOperator) (Ogre::OcclusionElement*&, Ogre::OcclusionElement*&)'
../../../PlugIns/PagingLandScape2/include/OgrePagingLandScapeOcclusionSorter.h:16: note: candidates are: bool Ogre::FrontToBackNodeSorterOperator::operator()(const Ogre::OcclusionElement*&, const Ogre::OcclusionElement*&) const
make[4]: *** [OgrePagingLandScapeOcclusion.lo] Error 1
make[4]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns/PagingLandScape2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk/PlugIns'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rastaman/src/ogre/plsm2sdk'
make: *** [all] Error 2

tuan kuranes

29-12-2005 06:36:04

check solution here :
http://www.ogre3d.org/phpBB2addons/view ... element%2A

rastaman

29-12-2005 07:57:02

ok inching along now :)
I added both those operator() to OgrePagingLandScapeOcclusionSorter.h and it goes on.
had a little trouble in Samples/PagingLandScape2/include/Terrainlistener.h, checked the cvs version and got by them.

but now :) linking errors in the sample
../../../PlugIns/PagingLandScape2/src/.libs/Plugin_PagingLandScape2.so: undefined reference to `Ogre::Traversal::traverseChildren(Ogre::PagingLandScapeOctree&)'

Just checked and OgrePagingLandScapeOcclusionTraversal.cpp is not in the Makefile.am. so I got to make sure all the files are included

rastaman

30-12-2005 05:16:11

is the source on http://tuan.kuranes.free.fr/Ogre.html that page supose to be buildable?
I don't see how. in PagingLandScapeIntersectionSceneQuery::execute
it has this:
SceneManager::EntityList::const_iterator a, theEnd;
PagingLandScapeSceneManager *sceneMgr = static_cast<PagingLandScapeSceneManager*>(mParentSceneMgr);
theEnd = sceneMgr->getEntities().end();

PagingLandScapeSceneManager has a getEntities but its commented out and under protected
:/ wtf

rastaman

30-12-2005 05:29:18

I changed the function to use SceneManager::EntityIterator insted of the protected SceneManager::EntityList.

now i get this:
OgrePagingLandScapeIntersectionSceneQuery.cpp: In member function 'virtual void Ogre::PagingLandScapeIntersectionSceneQuery::execute(Ogre::IntersectionSceneQueryListener*)':
OgrePagingLandScapeIntersectionSceneQuery.cpp:62: error: 'class Ogre::PagingLandScapePageManager' has no member named 'getPagingLandScapeRenderOpsInBox'

I don't see getPagingLandScapeRenderOpsInBox anywhere. also checked cvs version. I'm at a loss.

tuan kuranes

03-01-2006 08:57:17

don't include OgrePagingLandScapeIntersectionSceneQuery.cpp in the compilation.

rastaman

05-01-2006 00:29:59

cool that works, :oops: should have known.