PlaneShift
Support => Technical Help: IN GAME bugs (after loading world) => Topic started by: trebiani on February 23, 2005, 09:55:20 am
-
i folowed this howto:
http://laanx.fragnetics.com/index.php?page=build_gentoo
and get many, many of these errors:
C++ ./out/linuxx86/debug/src/npcclient/pathfind.o
C++ ./out/linuxx86/debug/src/npcclient/pathmanager.o
In file included from ./src/common/util/eventmanager.h:26,
from src/npcclient/npcbehave.h:31,
from src/npcclient/pathmanager.cpp:29:
./src/common/util/heap.h: In member function `void Heap::Insert(T*)\':
./src/common/util/heap.h:51: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:51: error: (if you use `-fpermissive\', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./src/common/util/heap.h:52: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h: In member function `T* Heap::DeleteMin()\':
./src/common/util/heap.h:62: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:63: error: there are no arguments to `Top\' that depend on a template parameter, so a declaration of `Top\' must be available
./src/common/util/heap.h:76: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:76: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:80: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:81: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h: In member function `T* Heap::FindMin()\':
./src/common/util/heap.h:92: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
g++ -c -o ./out/linuxx86/debug/src/npcclient/pathmanager.o -DCS_DEBUG -g3 -I/home/test/crystal/CS/include -I/home/test/crystal/cel/include -fexceptions -I. -I./include -I./src/common -I./src/client -I./src/server src/npcclient/pathmanager.cpp
...failed C++ ./out/linuxx86/debug/src/npcclient/pathmanager.o ...
and this error:
C++ ./out/linuxx86/debug/src/client/pscal3dcallback.o
In file included from src/client/pscal3dcallback.cpp:30:
src/client/pscal3dcallback.h:24:32: cal3d/animcallback.h: No such file or directory
In file included from src/client/pscal3dcallback.cpp:30:
src/client/pscal3dcallback.h:48: error: invalid use of undefined type `struct CalAnimationCallback\'
/home/test/crystal/CS/include/imesh/spritecal3d.h:99: error: forward declaration of `struct CalAnimationCallback\'
src/client/pscal3dcallback.cpp: In member function `virtual csPtr psCal3DCallbackLoader::Parse(iDocumentNode*, iLoaderContext*, iBase*)\':
src/client/pscal3dcallback.cpp:74: error: no matching function for call to `iSpriteCal3DFactoryState::RegisterAnimCallback(csString&, psCal3DCallbackEffect*, float&)\'
/home/test/crystal/CS/include/imesh/spritecal3d.h:325: note: candidates are: virtual bool iSpriteCal3DFactoryState::RegisterAnimCallback(const char*, CalAnimationCallback*, float)
g++ -c -o ./out/linuxx86/debug/src/client/pscal3dcallback.o -DCS_DEBUG -g3 -I/home/test/crystal/CS/include -I/home/test/crystal/cel/include -fexceptions -I/home/test/crystal/cal3d -I. -I./include -I./src/common -I./src/client -I./src/server src/client/pscal3dcallback.cpp
...failed C++ ./out/linuxx86/debug/src/client/pscal3dcallback.o ...
can someone help me with that?
btw.: CS, cel and cal3d compiled without error!
greetigs,
treb
-
Second error is also discussed here:
http://www.planeshift3d.com/wbboard/thread.php?threadid=14713&boardid=23&styleid=3
I had the same problem with the new included cal3d header files... but I compile using MinGW.
Did you build cal3d with MAKE INSTALL?
If not try it.
If this won\'t help you can try to copy the cal3d headers manually to the system include directory ( dont\'t know where to find that on linux, I assume /usr/include -> /usr/include/cal3d ).
- - - -
The other error with npcclient seems to have something to do with the new pathfinder... but I had no problems compiling that one (I go for CVS UPDATE today, maybe then I also have this error).
-
In the configure script for PlaneShift that you must run before calling jam to compile everything, there is a bunch of output about how successful the script is at finding all needed libraries, header files and so on.
The tail end of this output will have lines like this:
checking for Crystal Space - version >= 0.99... 0.99
checking for libmysqlclient... yes
checking for curl... 7.12.0
checking for cel... 0.99
checking for libcal3d... yes
Can you configure this as before and confirm that it can locate CrystalSpace, cel and libcal3d ?
It uses environment variables to locate CS and cel. Check that these are set properly if it is having trouble finding these. You can also give it a path to where you have installed cal3d, like:
./configure --with-libcal3d=/home/planeshift/cvs/cal3d
if it cant find these particular libraries.
-
Originally posted by trebiani
C++ ./out/linuxx86/debug/src/npcclient/pathfind.o
C++ ./out/linuxx86/debug/src/npcclient/pathmanager.o
In file included from ./src/common/util/eventmanager.h:26,
from src/npcclient/npcbehave.h:31,
from src/npcclient/pathmanager.cpp:29:
./src/common/util/heap.h: In member function `void Heap::Insert(T*)\':
./src/common/util/heap.h:51: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:51: error: (if you use `-fpermissive\', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./src/common/util/heap.h:52: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h: In member function `T* Heap::DeleteMin()\':
./src/common/util/heap.h:62: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:63: error: there are no arguments to `Top\' that depend on a template parameter, so a declaration of `Top\' must be available
./src/common/util/heap.h:76: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:76: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:80: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:81: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h: In member function `T* Heap::FindMin()\':
./src/common/util/heap.h:92: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
g++ -c -o ./out/linuxx86/debug/src/npcclient/pathmanager.o -DCS_DEBUG -g3 -I/home/test/crystal/CS/include -I/home/test/crystal/cel/include -fexceptions -I. -I./include -I./src/common -I./src/client -I./src/server src/npcclient/pathmanager.cpp
...failed C++ ./out/linuxx86/debug/src/npcclient/pathmanager.o ...
You are using gcc 3.4.x, aren\'t you?
Open the file /src/common/util/heap.h and change all \'Get\' to \'this->Get\' and the one \'Top\' to \'this->Top\'
-
Originally posted by Karosh_Steinkatz You are using gcc 3.4.x, aren\'t you?
Open the file /src/common/util/heap.h and change all \'Get\' to \'this->Get\' and the one \'Top\' to \'this->Top\'
Yes, you are right - i\'m using gcc 3.4.3
I did a cvs update and i saw that the Get\'s and Top is allready changed - thanks! I\'m compling it right now.
No luck :-( here are the new errors:
C++ ./out/linuxx86/debug/src/common/util/eventmanager.o
In file included from src/common/util/eventmanager.h:26,
from src/common/util/eventmanager.cpp:30:
./src/common/util/heap.h: In member function `void Heap::Insert(T*)\':
./src/common/util/heap.h:51: error: there are no arguments to `Get\' that depend on a template parameter, so a declaration of `Get\' must be available
./src/common/util/heap.h:51: error: (if you use `-fpermissive\', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
g++ -c -o ./out/linuxx86/debug/src/common/util/eventmanager.o -DCS_DEBUG -g3 -I/home/test/crystal/CS/include -I/home/test/crystal/cel/include -fexceptions -I. -I./include -I./src/common -I./src/client -I./src/server src/common/util/eventmanager.cpp
...failed C++ ./out/linuxx86/debug/src/common/util/eventmanager.o ...
C++ ./out/linuxx86/debug/src/client/pscal3dcallback.o
In file included from src/client/pscal3dcallback.cpp:30:
src/client/pscal3dcallback.h:24:32: cal3d/animcallback.h: No such file or directory
In file included from src/client/pscal3dcallback.cpp:30:
src/client/pscal3dcallback.h:48: error: invalid use of undefined type `struct CalAnimationCallback\'
/home/test/crystal/CS/include/imesh/spritecal3d.h:99: error: forward declaration of `struct CalAnimationCallback\'
src/client/pscal3dcallback.cpp: In member function `virtual csPtr psCal3DCallbackLoader::Parse(iDocumentNode*, iLoaderContext*, iBase*)\':
src/client/pscal3dcallback.cpp:74: error: no matching function for call to `iSpriteCal3DFactoryState::RegisterAnimCallback(csString&, psCal3DCallbackEffect*, float&)\'
/home/test/crystal/CS/include/imesh/spritecal3d.h:325: note: candidates are: virtual bool iSpriteCal3DFactoryState::RegisterAnimCallback(const char*, CalAnimationCallback*, float)
g++ -c -o ./out/linuxx86/debug/src/client/pscal3dcallback.o -DCS_DEBUG -g3 -I/home/test/crystal/CS/include -I/home/test/crystal/cel/include -fexceptions -I/home/test/crystal/cal3d -I. -I./include -I./src/common -I./src/client -I./src/server src/client/pscal3dcallback.cpp
...failed C++ ./out/linuxx86/debug/src/client/pscal3dcallback.o ...