PlaneShift
Development => Development Deliberation => Topic started by: zanz on September 14, 2006, 06:24:43 pm
-
I am attempting to get PS server up and running and have run into a snag in compiling the CS libraries. Any help would be greatly appreciated. Here is the log of the errors:
C++ ./out/linuxx86/debug/libs/csutil/memheap.o
In file included from include/csutil/memheap.h:32,
from libs/csutil/memheap.cpp:21:
include/csutil/spinlock.h:204: error: declaration does not declare anything
include/csutil/spinlock.h:204: error: parse error before `__attribute__'
include/csutil/spinlock.h:206: error: semicolon missing after declaration of `
CS::SpinLock'
include/csutil/spinlock.h:206: error: parse error before `__attribute__'
include/csutil/spinlock.h:208: error: parse error before `__attribute__'
include/csutil/scopedmutexlock.h: In constructor `
csScopedLock<T>::csScopedLock(T&) [with T = CS::SpinLock]':
libs/csutil/memheap.cpp:52: instantiated from here
include/csutil/scopedmutexlock.h:62: error: `LockWait' undeclared (first use
this function)
include/csutil/scopedmutexlock.h:62: error: (Each undeclared identifier is
reported only once for each function it appears in.)
include/csutil/scopedmutexlock.h: In destructor `
csScopedLock<T>::~csScopedLock() [with T = CS::SpinLock]':
libs/csutil/memheap.cpp:52: instantiated from here
include/csutil/scopedmutexlock.h:64: error: `Release' undeclared (first use
this function)
g++ -c -o ./out/linuxx86/debug/libs/csutil/memheap.o -I. -I./include -I./include -pipe -Wall -Wno-unknown-pragmas -march=i586 -I/usr/local/include -fno-exceptions -g3 -DCS_DEBUG -fPIC -DCS_CRYSTALSPACE_LIB -Ilibs/csutil/ptmalloc -Ilibs/csutil/ptmalloc/sysdeps/pthread -DCS_CONFIGDIR='"/usr/local/etc/crystalspace"' -DCS_PLUGINDIR='"/usr/local/lib/crystalspace"' libs/csutil/memheap.cpp
...failed C++ ./out/linuxx86/debug/libs/csutil/memheap.o ...
...skipped libcrystalspace.a for lack of libcrystalspace.a(memheap.o)...
...failed updating 1 target(s)...
...skipped 1 target(s)...
I have followed the compile instructions that came with the source fairly strictly but am now stuck.
The server is running Slackware 10.0
Please help me get past this.
Zanz (Kevin)
-
What compiler (version) are You using ?
Are You sure that it is CS revision 24890 ?
-
zanz@slack:/roia3d/cs# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/specs
Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.3.4
zanz@slack:/roia3d/cs# svn update -r 24890 cs
At revision 24890.
-
Your gcc is probably too old to compile CS compatible with current PS. But there is a hope :). I think the following comment refers to this:
22-Jul-2006
- Oktal fixed the order of some declaration qualifiers in spinlock.h;
CS_FORCEINLINE must come *before* the method's return type, at least
on gcc3. This is my first commit by SVN, so I hope it doesn't break.
So, You can make the change, which is mentioned above, yourself. Maybe it will help You.
General recomendation is to use at least gcc 3.4.x.
-
Awesome, that did indeed fix the problem. If I run into any more compile problems, I will first try to upgrade my gcc version. Thanks for the help, I'm really looking forward to getting this engine up and running. We are planning on attempting to build a new game using the PS engine (have a team of several people with many years of MUD development experience and we want to try to go 3D now).