Author Topic: CVS compile error  (Read 848 times)

trebiani

  • Traveller
  • *
  • Posts: 15
    • View Profile
CVS compile error
« 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:
Code: [Select]
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:

Code: [Select]
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

ronxena

  • Hydlaa Resident
  • *
  • Posts: 88
    • View Profile
(No subject)
« Reply #1 on: February 23, 2005, 09:04:22 pm »
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).

Tharizdun

  • Hydlaa Resident
  • *
  • Posts: 168
    • View Profile
(No subject)
« Reply #2 on: February 24, 2005, 04:37:58 am »
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.

Karosh_Steinkatz

  • Hydlaa Citizen
  • *
  • Posts: 486
    • View Profile
(No subject)
« Reply #3 on: February 24, 2005, 09:03:55 am »
Quote
Originally posted by trebiani
Code: [Select]
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\'


Back to Planeshift again \\o/

trebiani

  • Traveller
  • *
  • Posts: 15
    • View Profile
(No subject)
« Reply #4 on: February 24, 2005, 03:21:07 pm »
Quote
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:

Code: [Select]
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 ...


Code: [Select]
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 ...
« Last Edit: February 24, 2005, 03:33:01 pm by trebiani »