PlaneShift

Support => Technical Help: Problems BEFORE entering the game => Topic started by: bloodraven on December 28, 2002, 09:58:32 pm

Title: having bigtime compiling sources
Post by: bloodraven on December 28, 2002, 09:58:32 pm
Greetings folks, i managed to compile crystal space but the newest cel cvs is broken, it always ends with a bunch of errors and
make: *** [blpython/blcel.o] Error 1
a file which does not exist.
Does anyone have a working version of this program?

did anyone actually compile planeshift+progs with success lately?
Title:
Post by: Vengeance on December 29, 2002, 09:17:09 pm
Just skip the blpython library.  It isn\'t maintained and isn\'t used.
Title: cel
Post by: bloodraven on December 29, 2002, 09:27:10 pm
well great, i found out that cel doesnt compile with make as your tutorial says but with jam, planeshift still doesnt compile tho
it would be great if i could talk to someone who has compiled cel CS and planeshift with the newest cvs versions
maybe i could even work out a tutorial for these once i get them running on my system (gentoo linux)
or create a compiled tarball for people who dont have the knowledge and willpower to compile and try things for 2 days
Title:
Post by: acraig on December 29, 2002, 10:09:19 pm
CEL should still compile with \'make\',  at least that\'s what I\'ve been using all along and it\'s working for me. ( I still get the same blpython error but as Vengeance says it\'s not important )

If you have any specific building problems then let us know and we can try to figure something out.


---------
Andrew
Title:
Post by: bloodraven on December 29, 2002, 10:18:43 pm
hm okay ill remove CS cel and planeshift and get the cvs of them all again first then ill do it step by step and tell you where i get stuck
Title:
Post by: bloodraven on December 29, 2002, 11:17:39 pm
here we go....
downloaded cvs of the 3 progs CS cel and planeshift
CS:  ill try to follow the tutorial in  ./planeshift/docs/Compiling.txt

#nano -w mk/user.mak

adding line
PLUGINS.DYNAMIC += sound/loader/mp3  
cannot find the \"freetype\" from the tutorial tho

#make linux MODE=debug  

no errors, looks fine except for this \"checking for perl5... no\" tho i have the newest version so this should be no prob

#make depend

fails with this:
g++: cannot specify -o with -c or -S and multiple compilations
make[1]: *** [makedep] Error 1
make: *** [dep] Error 2

if i remember right make all -k will end with the same
but ill do it anyways

#make -k all

it seems like many of the compiled progs end with these lines

g++: cannot specify -o with -c or -S and multiple compilations
make[1]: *** [opcode.so] Error 1
make[1]: Target `opcode\' not remade because of errors.
make: *** [opcode] Error 2

tho it keeps compiling because some brute added -k  :)
here some adittional errors coming up on most of the progs which dont give the errors above

[...similar errors i couldnt catch...]
g++: -lcssys: linker input file unused because linking not done
g++: -lcsgeom: linker input file unused because linking not done
g++: -lcsutil: linker input file unused because linking not done
g++: -lcstool: linker input file unused because linking not done
g++: -lcsutil: linker input file unused because linking not done
g++: -lcssys: linker input file unused because linking not done
g++: -lcsutil: linker input file unused because linking not done
g++: -ldl: linker input file unused because linking not done
g++: -lm: linker input file unused because linking not done

much time has passed and not everyone gets a happy end, neither do i:
[...]X86/debug/cpuid.o out/LINUX/X86/debug/scan16a.o out/LINUX/X86/debug/scan32a.o -lcsgeom -lcsgfx -lcsutil -lcssys_D -lcsutil -ldl -lm  -g3 -Lout/LINUX/X86/debug
g++: cannot specify -o with -c or -S and multiple compilations
make[1]: *** [soft3d.so] Error 1
make[1]: Target `soft3d\' not remade because of errors.
make: *** [soft3d] Error 2
*-------------------------------------------------------------------------*
  Building cs-config build options script
  Building for LINUX/GCC/X86 in debug mode
*-------------------------------------------------------------------------*
Generating cs-config script...
make: Target `all\' not remade because of errors.
bash-2.05a#

do you think make install will work with this compiled piece of junk?

#make install

na you probably dont wana read it but here it is

as  -g3 -DCS_DEBUG -I. -I./apps -I./include -I./libs -I./plugins
g++ -c  -g3 -Lout/LINUX/X86/debug  -o uninst out/LINUX/X86/debug/uninst.o  -ldl -lm
g++: out/LINUX/X86/debug/uninst.o: linker input file unused because linking not done
g++: -ldl: linker input file unused because linking not done
g++: -lm: linker input file unused because linking not done
g++ -c  -g3 -Lout/LINUX/X86/debug  -o blocks out/LINUX/X86/debug/blocks.o out/LINUX/X86/debug/states.o -lcstool -lcsgfx -lcsutil -lcssys -lcsgeom -lcsutil -lcssys -ldl -lm
g++: cannot specify -o with -c or -S and multiple compilations
make[1]: *** [blocks] Error 1
make: *** [install] Error 2
bash-2.05a#


i dont think continuing with this will work so pls pls help me
if you want we can work this out together on my ssh
Title:
Post by: bloodraven on December 29, 2002, 11:46:44 pm
ok looks like adding the mp3 line was no good idea
make depend worked without that line
ill do make all again
Title:
Post by: bloodraven on December 30, 2002, 12:14:02 am
okay
# make all
# make install

all ok

#export CRYSTAL=/usr/local/crystal

# cp cs-config ../cel/

# cd ../cel

# make

ends with lots of this

include/pl/propclas.h:178: function `int GetPropertyAndActionCount()\' is
   initialized like a variable
include/pl/propclas.h:183: syntax error before `(\' token
include/pl/propclas.h:188: virtual outside class declaration
include/pl/propclas.h:188: confused by earlier errors, bailing out
make: *** [blpython/blcel.o] Error 1

# cp cel.cex /usr/local/crystal/

# export CEL=/home/skythe/games/tmp/cel/
# export CSCONFPATH=\"$CSCONFPATH $CEL\"

so much for cel
back to planeshift
# cd ../planeshift
# ./autogen.sh
# ./configure

Choosen Compile Configuration for planeshift (Ver 0.1):
  Readline        : no
  Threading       : pthread
  Socket Lib      : unix
  Mysql:          : yes
  Debug           : yes

# make

[....]no-unknown-pragmas -g3 -DCS_DEBUG -I/home/skythe/games/tmp/cel//include -I../../../src/common -c adminmessage.cpp -MT adminmessage.lo -MD -MP -MF .deps/adminmessage.TPlo  -fPIC -DPIC -o .libs/adminmessage.lo
adminmessage.cpp: In member function `const char* psAdminResponseList::XML()\':
adminmessage.cpp:545: cannot pass objects of non-POD type `class csString\'
   through `...\'
make[3]: *** [adminmessage.lo] Error 1
make[3]: Leaving directory `/home/skythe/games/tmp/planeshift/src/common/admin\'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/skythe/games/tmp/planeshift/src/common\'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/skythe/games/tmp/planeshift/src\'
make: *** [all-recursive] Error 1
bash-2.05a#

Title:
Post by: bloodraven on December 30, 2002, 12:33:31 am
# make -k
yeah :) i learn evil things from you

/home/skythe/games/tmp/planeshift/src/tools/texparse/texparse.cpp:459: the `gets\' function is dangerous and should not be used.
make[4]: Leaving directory `/home/skythe/games/tmp/planeshift/src/tools/texparse\'
make[3]: Leaving directory `/home/skythe/games/tmp/planeshift/src/tools/texparse\'
make[3]: Entering directory `/home/skythe/games/tmp/planeshift/src/tools\'
make[3]: Nothing to be done for `all-am\'.
make[3]: Leaving directory `/home/skythe/games/tmp/planeshift/src/tools\'
make[2]: Leaving directory `/home/skythe/games/tmp/planeshift/src/tools\'
make[2]: Entering directory `/home/skythe/games/tmp/planeshift/src\'
make[2]: Nothing to be done for `all-am\'.
make[2]: Leaving directory `/home/skythe/games/tmp/planeshift/src\'
make[1]: *** [all-recursive] Error 1
make[1]: Target `all\' not remade because of errors.
make[1]: Leaving directory `/home/skythe/games/tmp/planeshift/src\'
make[1]: Entering directory `/home/skythe/games/tmp/planeshift\'
make[1]: Nothing to be done for `all-am\'.
make[1]: Leaving directory `/home/skythe/games/tmp/planeshift\'
make: *** [all-recursive] Error 1
make: Target `all\' not remade because of errors.

Title:
Post by: bloodraven on December 30, 2002, 01:23:47 am
gyah.. ive been waiting long for an answer but i cant blame you when you play planeshift :D
i want to play it too!!! ;(
and i hate rpm! and i hate windows (which i dont have btw) !! X(
its 1:16 am and im tired :O
i hope we can solve the problems with this source someday
thnx and goodnight
skythe
Title:
Post by: acraig on December 30, 2002, 03:42:18 am
Hmm, those are strange errors in CS and CEL that I have not encountered before so I cannot tell right away what the problem is there.  You can try emailing the CS mailing list.  You can get some good information there.

As for the PlaneShift errors:



adminmessage.cpp: In member function `const char* psAdminResponseList::XML()\':
adminmessage.cpp:545: cannot pass objects of non-POD type `class csString\'
through `...\'


Should be fixed now.


/home/skythe/games/tmp/planeshift/src/tools/texparse/texparse.cpp:459: the `gets\' function is dangerous and should not be used.


Well, perhaps this is not an error but a good idea :).   Can you suggest another way without using gets?

Title:
Post by: bloodraven on December 30, 2002, 12:23:37 pm
lol i dont even know what it means :) but ill be happy if planeshift compiles
if it still doesnt, can i have your CS and cel versions pls?
Title:
Post by: bloodraven on December 30, 2002, 12:38:07 pm
okay at least i dont get the same error with planeshift make now:

celbase.cpp: In member function `int CelBase::GetActorCount()\':
celbase.cpp:282: template argument 1 is invalid
celbase.cpp:282: ISO C++ forbids declaration of `pcinv\' with no type
celbase.cpp:283: base operand of `->\' is not a pointer
celbase.cpp:286: base operand of `->\' is not a pointer
celbase.cpp: At global scope:
celbase.cpp:292: no `iCelEntity* CelBase::GetActor(int)\' member function
   declared in class `CelBase\'
celbase.cpp: In member function `iCelEntity* CelBase::GetActor(int)\':
celbase.cpp:296: template argument 1 is invalid
celbase.cpp:296: ISO C++ forbids declaration of `pcinv\' with no type
celbase.cpp:297: base operand of `->\' is not a pointer
celbase.cpp:300: base operand of `->\' is not a pointer
celbase.cpp: At global scope:
celbase.cpp:306: no `bool CelBase::AddActor(iCelEntity*)\' member function
   declared in class `CelBase\'
celbase.cpp: In member function `bool CelBase::AddActor(iCelEntity*)\':
celbase.cpp:309: base operand of `->\' is not a pointer
celbase.cpp:310: base operand of `->\' is not a pointer
celbase.cpp:311: base operand of `->\' is not a pointer
celbase.cpp:315: template argument 1 is invalid
celbase.cpp:315: ISO C++ forbids declaration of `pcinv\' with no type
celbase.cpp:316: base operand of `->\' is not a pointer
celbase.cpp:321: base operand of `->\' is not a pointer
celbase.cpp: In member function `bool CelBase::ClearWorld()\':
celbase.cpp:328: warning: assignment to non-pointer type `int\' from NULL
celbase.cpp:328: warning: argument to non-pointer type `int\' from NULL
celbase.cpp: At global scope:
celbase.cpp:334: no `bool CelBase::SetWorldEntity(iCelEntity*)\' member function
   declared in class `CelBase\'
celbase.cpp: In member function `bool CelBase::SetWorldEntity(iCelEntity*)\':
celbase.cpp:338: invalid conversion from `iCelEntity*\' to `int\'
celbase.cpp: At global scope:
celbase.cpp:343: no `void CelBase::SetActors(iCelEntity*)\' member function
   declared in class `CelBase\'
celbase.cpp: In member function `void CelBase::SetActors(iCelEntity*)\':
celbase.cpp:347: invalid conversion from `iCelEntity*\' to `int\'
celbase.cpp: At global scope:
celbase.cpp:351: no `iCelEntity* CelBase::GetActors()\' member function declared
   in class `CelBase\'
celbase.cpp: In member function `iCelEntity* CelBase::GetActors()\':
celbase.cpp:352: invalid conversion from `int\' to `iCelEntity*\'
make[3]: *** [celbase.lo] Error 1
make[3]: Leaving directory `/home/skythe/games/tmp/planeshift/src/common/engine\'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/skythe/games/tmp/planeshift/src/common\'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/skythe/games/tmp/planeshift/src\'
make: *** [all-recursive] Error 1

okay this really looks like cel is not really werking as expected, can i have your cel please? and the compiled cel.cex just in case :)
icq # 23486135
i hope i dont take too much of your time
Title:
Post by: Vengeance on December 31, 2002, 06:21:18 pm
Do you have CEL cvs downloaded and compiled?  It looks to me like it is not finding the right header files.

- Venge
Title:
Post by: bloodraven on January 01, 2003, 05:32:52 pm
dunno ./configure said something about python2.2 libs not found
but wtf i screwed my portage by installing the standard python2.2
ill do a build from scratch gentoo once i get my new hdd, cya in a week or 2
Title:
Post by: kinshadow on January 03, 2003, 09:22:50 pm
Make sure you have all the enviroment variables (CEL, crystal, etc.) defined correctly or it won\'t find the directory with the libraries.  With CEL, make sure you put a sim-link to your cs-config in the CEL directory.

What version of the compiler are you using?
Title:
Post by: Antity on July 14, 2003, 02:23:06 pm
Acraig said
Quote

/home/skythe/games/tmp/planeshift/src/tools/texparse/texparse.cpp:459: the `gets\' function is dangerous and should not be used.


Well, perhaps this is not an error but a good idea . Can you suggest another way without using gets?


from the  (Debian sid)GNU/linux manpage for gets :
Quote

Never use gets().  Because it is impossible to tell without knowing the data in advance how many characters gets() will read, and
       because  gets() will continue to store characters past the end of the buffer, it is extremely dangerous to use.  It has been used
       to break computer security.  Use fgets() instead.