PlaneShift

Support => Technical Help: Problems BEFORE entering the game => Topic started by: Tullisti on May 07, 2003, 04:59:17 am

Title: HUGE linux problems. any ideas?
Post by: Tullisti on May 07, 2003, 04:59:17 am
WOW... listen to this:

I want to install planeshift on my debian (sarge) linux box. I have all the latest packages.

When downloading the pre-compiled planeshift package, i get the following error:

./psclient-bin: /lib/libpthread.so.0: version `GLIBC_2.3.2\' not found (required by ./psclient-bin)

However, i have the latest version of all the C libraries in sarge debian linux. Glibc 2.3.2 does not exist in sarge linux yet.

So, i tried compiling the source code. First i tried download the linux source package, but i get errors when trying to run the configure script (AFTER i made the script executable, why is this?? surely this should be executable straight out of the box?) . the error i get is:

: bad interpreter: No such file or directory

Then i noticed that the interpreter line in configure is like this:

#! /bin/sh

when it should be:

#!/bin/sh

(no space!)

However, even after fixing this bug, i STILL get the same error message! Something really wierd is going on here. I\'m running bash as my command line shell, so i tried doing this:

$ bash configure

but then this happens:

: command not found
configure: line 22: syntax error near unexpected token `elif\'
configure: line 22: `elif test -n \"${BASH_VERSION+set}\" && (set -o posix) >/dev/\'ull 2>&1; then

Then i read the HOWTO on this forum, and downloaded everything from source. everything compiles and works fine, apart from planeshift, which gives me screens and screens of errors, like the following:

...failed C++ ./out/linuxx86/psinteractwin.o ...
C++ ./out/linuxx86/psinventorywindow.o
In file included from src/common/psprop/pc/pspcproxlist.h:28,
                 from src/client/aws/psplayerwindow.h:24,
                 from src/client/aws/psaws.h:33,
                 from src/client/aws/psinventorywindow.cpp:31:
src/common/net/netbase.h:32:29: csutil/csdllist.h: No such file or directory
In file included from src/client/aws/pscommwindow.h:31,
                 from src/client/aws/psaws.h:34,
                 from src/client/aws/psinventorywindow.cpp:31:
src/common/net/msghandler.h:22:29: csutil/csdllist.h: No such file or directory
In file included from src/client/aws/pscommwindow.h:31,
                 from src/client/aws/psaws.h:34,
                 from src/client/aws/psinventorywindow.cpp:31:
src/common/net/msghandler.h:107: \'csDLinkList\' is used as a type, but is not
   defined as a type.

So it seems like the CVS doesn\'t compile either.

Well, I\'m very dissapointed with the quality of the source package. can someone PLEASE tell me what i have to do to get this appallingly put together package?

thanks :-)
Title:
Post by: acraig on May 07, 2003, 07:30:15 am
Hi. Did you see this thead (http://planeshift.oodlz.com/wbboard/thread.php?threadid=3047&boardid=17&styleid=3&page=1#1)?

It sounds like you are using the latest CVS of CS which has those files removed.   I just updated the thread with the branching info for CS.  

Sorry about any of the confusion here.
Title:
Post by: Atanor on May 07, 2003, 09:40:41 am
In addition, if you want to avoid compiling problem you may use the big source pack with everything included in it.
Title:
Post by: Tullisti on May 08, 2003, 10:46:45 am
yes, i did see that thread. I\'ve just retried it, now i get the following error. (I\'m going to be naughty and paste the whole thing here, it\'s pretty long):

--------
*-------------------------------------------------------------------------*
  Building Alternate Windowing System plug-in
  Building for UNIX/GCC/X86 in optimize mode
*-------------------------------------------------------------------------*
g++ -c -o out/UNIX/X86/optimize/sllex.o plugins/aws/sllex.cpp -D__CRYSTAL_SPACE__ -Wall -Wno-unknown-pragmas -fno-exceptions -mcpu=pentiumpro -march=i686 -I/usr/local/include  -O3 -fomit-frame-pointer -ffast-math  -I. -I./apps -I./include -I./libs -I./plugins
plugins/aws/sllex.cpp:454:19: slp.hpp: No such file or directory
plugins/aws/sllex.cpp:620: `YYSTYPE\' was not declared in this scope
plugins/aws/sllex.cpp:620: `awslval\' was not declared in this scope
plugins/aws/sllex.cpp:621: syntax error before `{\' token
plugins/aws/sllex.cpp:623: register name not specified for `char*yy_cp\'
plugins/aws/sllex.cpp:623: register name not specified for `char*yy_bp\'
plugins/aws/sllex.cpp:624: register name not specified for `int yy_act\'
plugins/aws/sllex.cpp:628: syntax error before `if\'
plugins/aws/sllex.cpp:649: ISO C++ forbids declaration of `
   aws_load_buffer_state\' with no type
plugins/aws/sllex.cpp:649: new declaration `int aws_load_buffer_state()\'
plugins/aws/sllex.cpp:248: ambiguates old declaration `void
   aws_load_buffer_state()\'
plugins/aws/sllex.cpp:650: syntax error before `}\' token
plugins/aws/sllex.cpp:657: ISO C++ forbids declaration of `yy_cp\' with no type
plugins/aws/sllex.cpp:657: conflicting types for `int*yy_cp\'
plugins/aws/sllex.cpp:623: previous declaration as `char*yy_cp\'
plugins/aws/sllex.cpp:657: invalid conversion from `char\' to `int*\'
plugins/aws/sllex.cpp:662: ISO C++ forbids declaration of `yy_bp\' with no type
plugins/aws/sllex.cpp:662: conflicting types for `int yy_bp\'
plugins/aws/sllex.cpp:623: previous declaration as `char*yy_bp\'
plugins/aws/sllex.cpp:662: invalid conversion from `int*\' to `int\'
plugins/aws/sllex.cpp:664: ISO C++ forbids declaration of `yy_current_state\'
   with no type
plugins/aws/sllex.cpp:665: ISO C++ forbids declaration of `yy_state_ptr\' with
   no type
plugins/aws/sllex.cpp:665: conflicting types for `int yy_state_ptr\'
plugins/aws/sllex.cpp:423: previous declaration as `yy_state_type*yy_state_ptr\'
plugins/aws/sllex.cpp:665: invalid conversion from `yy_state_type*\' to `int\'
plugins/aws/sllex.cpp:666: syntax error before `++\' token
plugins/aws/sllex.cpp:667: syntax error before `:\' token
plugins/aws/sllex.cpp:677: ISO C++ forbids declaration of `yy_current_state\'
   with no type
plugins/aws/sllex.cpp:677: redefinition of `int yy_current_state\'
plugins/aws/sllex.cpp:664: `int yy_current_state\' previously defined here
plugins/aws/sllex.cpp:677: `yy_c\' was not declared in this scope
plugins/aws/sllex.cpp:678: syntax error before `++\' token
plugins/aws/sllex.cpp:683: syntax error before `:\' token
plugins/aws/sllex.cpp:685: ISO C++ forbids declaration of `yy_lp\' with no type
plugins/aws/sllex.cpp:685: redefinition of `int yy_lp\'
plugins/aws/sllex.cpp:425: `int yy_lp\' previously declared here
plugins/aws/sllex.cpp:686: syntax error before `:\' token
plugins/aws/sllex.cpp:698: ISO C++ forbids declaration of `yy_current_state\'
   with no type
plugins/aws/sllex.cpp:698: redefinition of `int yy_current_state\'
plugins/aws/sllex.cpp:677: `int yy_current_state\' previously defined here
plugins/aws/sllex.cpp:698: invalid type argument of `unary *\'
plugins/aws/sllex.cpp:699: ISO C++ forbids declaration of `yy_lp\' with no type
plugins/aws/sllex.cpp:699: redefinition of `int yy_lp\'
plugins/aws/sllex.cpp:685: `int yy_lp\' previously defined here
plugins/aws/sllex.cpp:700: syntax error before `}\' token
plugins/aws/sllex.cpp:702: ISO C++ forbids declaration of `awstext\' with no
   type
plugins/aws/sllex.cpp:702: conflicting types for `int awstext\'
plugins/aws/sllex.cpp:436: previous declaration as `char*awstext\'
plugins/aws/sllex.cpp:702: ISO C++ forbids declaration of `awsleng\' with no
   type
plugins/aws/sllex.cpp:702: redefinition of `int awsleng\'
plugins/aws/sllex.cpp:233: `int awsleng\' previously declared here
plugins/aws/sllex.cpp:702: ISO C++ forbids declaration of `yy_hold_char\' with
   no type
plugins/aws/sllex.cpp:702: conflicting types for `int yy_hold_char\'
plugins/aws/sllex.cpp:228: previous declaration as `char yy_hold_char\'
plugins/aws/sllex.cpp:702: ISO C++ forbids declaration of `yy_cp\' with no type
plugins/aws/sllex.cpp:702: redefinition of `int*yy_cp\'
plugins/aws/sllex.cpp:657: `int*yy_cp\' previously defined here
plugins/aws/sllex.cpp:702: ISO C++ forbids declaration of `yy_c_buf_p\' with no
   type
plugins/aws/sllex.cpp:702: conflicting types for `int yy_c_buf_p\'
plugins/aws/sllex.cpp:236: previous declaration as `char*yy_c_buf_p\'
plugins/aws/sllex.cpp:702: invalid conversion from `int*\' to `int\'
plugins/aws/sllex.cpp:704: syntax error before `if\'
plugins/aws/sllex.cpp:707: syntax error before `;\' token
plugins/aws/sllex.cpp: In function `void aws_load_buffer_state()\':
plugins/aws/sllex.cpp:1273: invalid conversion from `char*\' to `int\'
plugins/aws/sllex.cpp:1275: invalid type argument of `unary *\'
plugins/aws/sllex.cpp: At top level:
plugins/aws/sllex.cpp:237: warning: `int yy_init\' defined but not used
plugins/aws/sllex.cpp:424: warning: `char*yy_full_match\' defined but not used
plugins/aws/sllex.cpp:425: warning: `int yy_lp\' defined but not used
make[1]: *** [out/UNIX/X86/optimize/sllex.o] Error 1
make: *** [aws] Error 2

--------

planeshift compiles just fine, but without AWS, it won\'t run...

So close, yet so far!! any ideas??

has anyone else here running linux tried to compile from CVS??
Title:
Post by: Sharaz on May 08, 2003, 09:24:39 pm
I have exactly the same problem, and I haven\'t been able to fix it completely. I have been to fix some of the problems:

sllex.cpp doesn\'t really seem to be required, so removing it fixes your (first) prolem.

The next problem you\'ll run into, can be fixed by editing \'file in error\'.yy, ?( don\'t remember the name, but it\'s clearly in the error message.
window_\'something\' (sorry, don\'t remember that name either, but it\'s also clearly in the message) is declared twice, which breaks bison. Remove one of the declarations and that problem is fixed as well.

At this point you\'ll arrive at the phase I\'m in at the moment. Flex gives an error about a broken skeleton file, and I haven\'t been able to fix it. It appears to have something to do with one of the recent flex updates, but I hevan\'t been able to test it.

If you manage to get past this point. please post it, so we can see if we can get even further.
Title:
Post by: Atanor on May 09, 2003, 10:07:03 pm
Yes, the problem comes from Sarge\'s current version of flex which is a bit buggy. People with Debian testing/stable had not problem to compile PS.
Title:
Post by: Sharaz on May 11, 2003, 11:21:29 am
Ok, I finally managed to compile it, but it crashes when I try to run it. I used the full source package by Atanor.

First the solution:
1) Compile flex2.5.4, you can get the tarbal at:
http://ftp.debian.org/debian/pool/main/f/flex/flex_2.5.4a.orig.tar.gz

2) Put the flex binary in a directory that\'s in your PATH before the 2.5.31 version of flex. In my case (Debian unstable) 2.5.31 is in /usr/bin, so I put 2.5.4 in ~/bin which I\'ve put on the first place in my PATH.

3) Edit  \'planeshift_dir\'/CS/plugins/aws/skinpars.yy and remove the second \"window_item\" on line 61. This double declaration crashes bison.

4) sh build.sh
You shouldn\'t encounter any errors.

Ok, that was the good part, now for the bad.
When I try to run pssetup -verbose I get the following error (sorry, I know it\'s a bit big):

Warning: Failed to load `aws\'; reason(s):
DLERROR (aws): .//aws.so: undefined symbol: _Z6awslexP7YYSTYPE
Warning: Failed to load `aws\'; reason(s):
DLERROR (aws): .//aws.so: undefined symbol: _Z6awslexP7YYSTYPE
WARNING: could not load plugin \'crystalspace.window.alternatemanager\'
Warning: Failed to load `csjngimg\'; reason(s):
.//csjngimg.so: File not found
.//lib/csjngimg.so: File not found
./csjngimg.so: File not found
/home/bas/games/my_planeshift/distro/planeshift/csjngimg.so: File not found
Warning: Failed to load `csjngimg\'; reason(s):
.//csjngimg.so: File not found
.//libcsjngimg.so: File not found
.//lib/csjngimg.so: File not found
.//lib/libcsjngimg.so: File not found
./csjngimg.so: File not found
./libcsjngimg.so: File not found
/home/bas/games/my_planeshift/distro/planeshift/csjngimg.so: File not found
/home/bas/games/my_planeshift/distro/planeshift/libcsjngimg.so: File not found
WARNING: could not load plugin \'crystalspace.graphic.image.io.jng\'
Couldn\'t load iAws plugin!
Error initializing system!

Anybody got any great ideas on how to fix this?
Title: some library missing
Post by: daniel311 on May 12, 2003, 12:28:33 am
take another look at the output of ./configure again...
maybe some library headers are missing so the corresponding .so-targets are not built

apt-get install libmng-dev
Title: aws lexx problem...
Post by: daniel311 on May 12, 2003, 12:32:15 am
but i don\'t get any way further either...

daniel@debian:~/my_planeshift/distro/planeshift$ ./pssetup
-verbose

Warning: Failed to load `aws\'; reason(s):
DLERROR (aws): .//aws.so: undefined symbol: _Z6awslexP7YYSTYPE
Warning: Failed to load `aws\'; reason(s):
DLERROR (aws): .//aws.so: undefined symbol: _Z6awslexP7YYSTYPE
WARNING: could not load plugin \'crystalspace.window.alternatemanager\'
Couldn\'t load iAws plugin!
Error initializing system!
Title:
Post by: Tullisti on May 12, 2003, 02:13:03 am
the AWS library is a component of crystalspace. are you sure it compiled OK? My version compiled everything BUT the AWS library.

Note that make -k all will keep on going, even if it hits an error (that\'s what the -k does). It seems we\'re bith stuck trying t get cystalspace to compile.


why isn\'t there a sane crystalspace linux edition out??
Title:
Post by: angmar on May 12, 2003, 02:21:03 am
Hi. I\'m a Debian/Sid user and I am trying to compile the
planeshift-0.2.010FullSourceAndArt.tar.gz

I got a problem with the aws of CS:

*-------------------------------------------------------------------------*
  Building Alternate Windowing System plug-in
  Building for UNIX/GCC/X86 in optimize mode
*-------------------------------------------------------------------------*
g++ -c -o out/UNIX/X86/optimize/sllex.o plugins/aws/sllex.cpp -D__CRYSTAL_SPACE__ -Wall -Wno-unknown-pragmas -fno-exceptions -mcpu=pentiumpro -march=i686 -I/usr/local/include  -O3 -fomit-frame-pointer -ffast-math  -I. -I./apps -I./include -I./libs -I./plugins
plugins/aws/sllex.cpp:454:19: slp.hpp: Arquivo ou diret?rio n?o encontrado
plugins/aws/sllex.cpp:620: `YYSTYPE\' was not declared in this scope
plugins/aws/sllex.cpp:620: `awslval\' was not declared in this scope
plugins/aws/sllex.cpp:621: syntax error before `{\' token
plugins/aws/sllex.cpp:623: register name not specified for `char*yy_cp\'
...

The slp.hpp file doesn\'t exist in the CS/plugins/aws directory.
Title: sid has flex-old now!
Post by: daniel311 on May 12, 2003, 01:37:33 pm
got past the flex problem by \'apt-get install flex-old\'
got past the bison problem by removing that doubled definition of \"window_item\"

now i\'m that far (pssetup works!!):

./psclient -verbose
Warning: Failed to load `psgui\'; reason(s):
DLERROR (psgui): .//psgui.so: undefined symbol: _ZN11psComponentC2EP8psDialogi
Warning: Failed to load `psgui\'; reason(s):
DLERROR (psgui): .//psgui.so: undefined symbol: _ZN11psComponentC2EP8psDialogi
WARNING: could not load plugin \'planeshift.gui.dialogmanager\'
Entering fullscreen: win 1024, 768 to fs_mode 1024, 768
...
planeshift.application.client: No iDialogManager plugin!
planeshift.application.client: Failed to init app!

have to take a deeper lookinto the psgui.so make process...
come on. anyone must have sucess with planeshift on debian.
Title:
Post by: Kundalf on May 12, 2003, 03:04:04 pm
that looks like you don\'t have compiled the plugins. Copy cs-config from your cel source directory and compile cel again, to get the plugins, celtst and other stuff...
Title: grrrrr.
Post by: Tullisti on May 13, 2003, 05:51:49 am
This is of course all beside the point.

WHY does the binary download for linux not work?? the executable scripts are not `chmod +x`, and abunch of other things are wrong too. They may as well remove the linux serction, and esecially the bit on the website which says it has been testewd and works just find on debian sarge, because it obviously doesn\'t....
Title:
Post by: Atanor on May 13, 2003, 11:09:17 pm
they were working with Debian Sarge, but I forgot I hacked a bit my packages... In addition I did activate a few uncommon linking options. I just did forget that my system was not really 100% standard.
Title:
Post by: Atanor on May 13, 2003, 11:12:50 pm
also could you tell me which scripts aren\'t chmoded +x please? so that I can fix that.
Title:
Post by: Tullisti on May 14, 2003, 12:33:53 am
the bigest problem is not having GLIBC 2.3.2 on debian sarge. how the h**l did you get glibc2.3.2 under sarge? Yeah, i could open up a pinhole and get it from sid, but i\'d rather not at this point in time...

under the source package the following items are not chmod +x, and should be:

configure
mkinstalldirs
 psclient
 psserver
pssetup
py-compile

there\'s probably a few more, but my question about glibc remains :-)
Title:
Post by: Atanor on May 14, 2003, 01:43:15 am
psserver ? how did you compile psserver? It not in the source package!!!

now about glibc... I compiled my own one and hacked a lot of things to make it work... But i did that a long time ago. when I tested binaries, I did forget about.

PS: do not try to do the same thing than me, it will break half of packages  :)
Title:
Post by: Tullisti on May 14, 2003, 05:45:24 am
maybe then on the website you shouild change \"tested with debian (sarge) to:

\"tested with debian (sid)\"...

anyway, i can\'t get it going *snif*
Title:
Post by: Sharaz on May 14, 2003, 10:40:41 am
Quote
\"tested with debian (sid)\"...


I wouldn\'t do that either, at least not until 3.2.2 is actually IN sid ;)
Sid uses 3.2.1 at the moment, so we\'ll have to see when 3.2.2 comes out.

But that doesn\'t change the fact that the source package should simply work.

It all comes down to some strange problem with AWS. All other problems can be fixed, as described in some of the other posts in this thread. So I\'d suggest focussing on that problem, so all  of us anxious Debian users can finally enter PS :)