MegaGlest Forum

Archives (read only) => Vanilla Glest => Linux and other ports => Topic started by: titi on 3 April 2009, 20:54:45

Title: Glest 3.2.2 for Linux
Post by: titi on 3 April 2009, 20:54:45
Download binaries (http://www.titusgames.de/glest3.2.2_i386_linux_bin.tar.bz2) and data (http://downloads.sourceforge.net/glest/glest_data_3.2.1.zip).  ( !! If the game works modify file glest.ini to setup a better display resolution! !!)

The sourcecode is also available, but we recommend the official binaries, compiled by me:
http://downloads.sourceforge.net/glest/glest_source_3.2.2.zip  ( official source code package )
or
http://www.titusgames.de/glest-source-3.2.1.tar.bz2 repackaged source tarball ( with right version string (by titi))

The official binary was compiled on an old ubuntu 6.06 to be as comptible as possible (glibc 2.38).
Hint: If you have a very up to date debian/ubuntu system, you might get in trouble with
libopenal.so.0 which is not available on these systems. Try this workaround:
Code: [Select]
ln -s /usr/lib/libopenal.so.1 <PathToGlestInstallation>/lib/libopenal.so.0


Linux 32-bit installer: https://forum.megaglest.org/index.php?topic=3031.0 (https://forum.megaglest.org/index.php?topic=3031.0)
Title: Re: Glest 3.2.2 for Linux
Post by: Platyhelminth on 19 July 2009, 09:54:36
If you are a x86_64 user with Ubuntu (or debian), you have to use ia32-libs and getlibs to make this "official" binary work.
For ia32-libs you have to enter this command (or something like this):
Code: [Select]
sudo apt-get install ia32-libs
For getlibs, you have to install getlibs from this package : http://frozenfox.freehostia.com/cappy/getlibs-all.deb . Getlibs role is to get 32bit dependencies, after it has been installed you have to enter a command like this:

Code: [Select]
getlibs <PathToGlestInstallation>/glest.bin
For trouble with libopenal.so.0 the command is like:

Code: [Select]
ln -s /usr/lib32/libopenal.so.1 <PathToGlestInstallation>/lib/libopenal.so.0
If you dont already have a 32bit libopenal then you have to enter this command before:

Code: [Select]
getlibs -l libopenal.so.1
        Why doing this when it is much more easyer to directly use a 64bit binary ? ? ?
_ because this game has some problemes in multiplayer, it only works if every body use the same binary. It is a shame, but if you want to play in multiplayer you have to use this 32bit binary.
        You want to play with windows users with wine by using windows binary ?
_ forgive it. It doesn't work for multiplayer.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 24 October 2009, 19:34:23
I'd like to make an installer for 32 and 64 bit machines.

32-bit first.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 24 October 2009, 21:37:20
Put together a package based on the Download links you posted Titi.

Get it here (http://www.filefront.com/14786431/LinuxGlest.7z)

Please tell me if I'm missing anything, or if something is not supposed to be in there.
Title: Re: Glest 3.2.2 for Linux
Post by: sg1efc on 25 October 2009, 01:45:38
Put together a package based on the Download links you posted Titi.

Get it here (http://www.filefront.com/14786431/LinuxGlest.7z)

Please tell me if I'm missing anything, or if something is not supposed to be in there.

Thank you very much for this Archmage.  :)

Looking forward to trying this next week when I do a fresh install with Ubuntu 9.10.  When I installed some mods in 3.2.1, I somehow broke Glest & even after completely uninstalled and reinstalled a few times, still can't get the game maps to load to play a game, Lots of laughs.   :)
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 25 October 2009, 02:59:40
Those are just the files, I'm going to make an installer, after I get a reply.
My Linux computer is down so I don't know if that's correct because I can't test it.

Also, why plain Ubuntu, try Kubuntu, it's awesome.
( update by titi: I removed you ubuntu discussion here because its completly offtopic in this topic )
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 4 November 2009, 19:48:46
Alternative way to download the latest Glest:

Go into Synaptic, type "glest" in the quick search box, select the glest 3.2.1 data and then 3.2.2 source for installation, click "apply".
Glest is playable although the data package is complete so download the glest linux data, and put it in "/usr/share/games/", then navigate to "usr/share/games" and make sure the glest data is named "glest", and also make sure that it is complete.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 7 November 2009, 06:51:24
Error Report:
Code: [Select]
./glest.bin: error while loading shared libraries: libxerces-c.so.27: cannot open shared object file: No such file or directory

Does anybody have a solution to this problem?
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 02:49:40
New error:

Code: [Select]
seth@Kelley-2008:~/Programs/LinuxGlest/Glest_3.2.2$ ./glest.bin
./glest.bin: symbol lookup error: ./glest.bin: undefined symbol: _ZN11xercesc_2_76XMLUni22fgXercescDefaultLocaleE
Title: Re: Glest 3.2.2 for Linux
Post by: titi on 11 November 2009, 13:15:52
start ./glest instead of ./glest.bin
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 14:47:46
What does that do?
Just tried it, doesn't seem to do anything...
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 11 November 2009, 16:20:59
It uses the libraries in the subfolder lib, when they are not in your system. You probably made a symlink to your system libxerces, which is incompatible. Remove the symlink and try again ./glest.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 16:24:15
How do I remove a symlink?
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 11 November 2009, 16:31:10
Just delete it.

What have you done between reply #7 and #8?

Please run:
Code: [Select]
$ ls -l /usr/lib | grep xerces
and post output.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 16:38:30
Quote
What have you done between reply #7 and #8?

Tried running the glest binary, I did tons of stuff, but I don't have that terminal window open anymore, and I can't really remember what I did.



Output:
Code: [Select]
seth@Kelley-2008:~$ ls -l /usr/lib | grep xerces
drwxr-xr-x  2 root root     4096 2009-11-10 21:32 libxerces28
-rw-r--r--  1 root root  3796888 2009-08-24 11:28 libxerces-c-3.0.so
lrwxrwxrwx  1 root root       17 2009-11-10 21:32 libxerces-c.so -> libxerces-c.so.28
lrwxrwxrwx  1 root root       19 2009-11-01 14:25 libxerces-c.so.28 -> libxerces-c.so.28.0
-rw-r--r--  1 root root  4006344 2009-08-26 17:38 libxerces-c.so.28.0
lrwxrwxrwx  1 root root       22 2009-11-10 21:32 libxerces-depdom.so -> libxerces-depdom.so.28
lrwxrwxrwx  1 root root       24 2009-11-01 14:25 libxerces-depdom.so.28 -> libxerces-depdom.so.28.0
-rw-r--r--  1 root root   461504 2009-08-26 17:38 libxerces-depdom.so.28.0
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 11 November 2009, 16:50:54
Looks fine. Is there any entry in glest.log after running ./glest?
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 16:51:46
Checking...

Done.

Code: [Select]
./glest.bin: error while loading shared libraries: ./lib/libstdc++.so.6: file too short

My first attempt to fix this would probably be a getlibs command or something of the sorts.

Edit: Would this work?:

Code: [Select]
getlibs -l libstdc++.so.6
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 11 November 2009, 17:07:50
Oh, you use 64bit linux. I never used 64bit linux, so i can't help you with that.

You could try getlibs, but i think you have it already in /usr/lib32.

Just a thought:
Code: [Select]
$ LD_LIBRARY_PATH=/usr/lib32:./lib ./glest.bin
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 17:12:29
Just tried:
$ LD_LIBRARY_PATH=/usr/lib32:./lib ./glest.bin

I still get:
Code: [Select]
./glest.bin: symbol lookup error: ./glest.bin: undefined symbol: _ZN11xercesc_2_76XMLUni22fgXercescDefaultLocaleE



Trying my getlibs thing....

Done, result:

Code: [Select]
seth@Kelley-2008:~/Programs/LinuxGlest/Glest_3.2.2$ getlibs -l libstdc++.so.6
libstdc++.so.6: ppu-g++
The following i386 packages will be installed:
ppu-g++
Continue [Y/n]? y
Downloading ...
Installing libraries ...
seth@Kelley-2008:~/Programs/LinuxGlest/Glest_3.2.2$
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 11 November 2009, 17:14:17
I still have the symlink problem...
How do I delete it?
I really don't know anything about symlinks...
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 11 November 2009, 17:32:57
It's not a symlink. I thought you made one for libxerces. The used libraries are incompatible.

Have you tried what Platyhelminth said in the second post?

Just thoughts, because i'm not familiar with this 64bit-32bit-problems.
Code: [Select]
$ getlibs -l libxerces-c28
$ ls -l /usr/lib32 | grep xerces
Only proceed, if there is libxerces-c.so.28.
Code: [Select]
$ mv lib/libxerces-c.so.27 lib/libxerces-c.so.27_renamed
$ ln -s /usr/lib32/libxerces-c.so.28 lib/libxerces-c.so.27
$ ./glest
Title: Re: Glest 3.2.2 for Linux
Post by: titi on 11 November 2009, 20:00:23
Why don't you simply use the installer from www.liflg.org? They have a 64 bit version.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 12 November 2009, 13:48:19
Because that starts all over with the libxerces problem.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 24 November 2009, 23:00:37
Can someone compile on (K)Ubuntu 9.10 with libxerces-c.so.28?

Yggdrasil, I don't know if I tried what you posted, trying now......


This command:
Code: [Select]
getlibs -l libxerces-c28 Did this:
Code: [Select]
seth@Kelley-2008:~/Programs/LinuxGlest$ getlibs -l libxerces-c28
libxerces-c28: libxerces-c28
The following i386 packages will be installed:
libxerces-c28
Continue [Y/n]? y
Downloading ...
Installing libraries ...
[sudo] password for seth:
seth@Kelley-2008:~/Programs/LinuxGlest$


This command:
Code: [Select]
ls -l /usr/lib32 | grep xerces Did this:
Code: [Select]
seth@Kelley-2008:~/Programs/LinuxGlest$ ls -l /usr/lib32 | grep xerces
-rw-r--r-- 1 root root  9335228 2009-11-07 01:42 libxerces-c.a
-rw-r--r-- 1 root root      877 2009-11-07 01:42 libxerces-c.la
lrwxrwxrwx 1 root root       18 2009-11-07 01:42 libxerces-c.so -> libxerces-c-3.0.so
lrwxrwxrwx 1 root root       19 2009-11-10 21:26 libxerces-c.so.27 -> libxerces-c.so.28.0
lrwxrwxrwx 1 root root       19 2009-11-24 18:04 libxerces-c.so.28 -> libxerces-c.so.28.0
-rw-r--r-- 1 root root  3881496 2009-11-24 18:04 libxerces-c.so.28.0
lrwxrwxrwx 1 root root       24 2009-11-24 18:04 libxerces-depdom.so.28 -> libxerces-depdom.so.28.0
-rw-r--r-- 1 root root   440024 2009-11-24 18:04 libxerces-depdom.so.28.0
seth@Kelley-2008:~/Programs/LinuxGlest$
As you can see I don't have plain libxerces-c.so.28, I have libxerces-c.so.28.0...
I assume it's safe to proceed with slightly modified commands?

Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 25 November 2009, 14:04:03
You don't need to run the rest. You have already libxerces-c.so.27.

If it still does not work, i have no further idea. Better try building yourself or use the package of your distribution.
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 25 November 2009, 14:34:30
Actually in the beginning, I thought I would try copying libxerces-c.so.28 and renaming it to libxerces-c.so.27, just in case Glest might be able to use it........
Title: Glest 3 2 2 for Linux
Post by: codaarrella on 11 December 2009, 09:14:45
i know it can be done. but its linux for the ps2, its not any old linux distro. you need to buy a hard drive for the ps2 aswell, it fits in the back of it where theres a big slot, its also where you put the network adapter. cept on the outside
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 13 December 2009, 22:58:57
Please compile for Ubuntu 9.10!
All the older binaries have libxerces problems on the newer machines, that I don't think can be fixed!
Title: Re: Glest 3.2.2 for Linux
Post by: just_a_small_tip on 16 December 2009, 00:36:02
Hi all, I made this account especially to tell you all that it is (also) possible to download Glest in deb form.
I had quite some trouble installing Glest with the links posted by the TS, so I was very happy to find out it is also possible to just download Glest in Deb form and install it with GDebi.

Check it out; http://old.getdeb.net/app/Glest
It has Deb's in a range of 'flavours'
Ubuntu Jaunty 32 bits -  3.2.2
Ubuntu Jaunty 64 bits - 3.2.2
Ubuntu Intrepid 32 bits - 3.2.1
Ubuntu Intrepid 64 bits - 3.2.1
Ubuntu Hardy 32 bits - 3.1.2
Ubuntu Hardy 64 bits - 3.1.2
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 16 December 2009, 00:40:28
How about 9.10(Karmic)?
Title: Re: Glest 3.2.2 for Linux
Post by: just_a_small_tip on 16 December 2009, 21:05:18
As it appears there is no Deb for Karmic yet, but I assume that you could just use the Jaunty one as this is the latest version anyway. Correct me if I'm wrong but would a Karmic version not probably be the same?
Title: Re: Glest 3.2.2 for Linux
Post by: -Archmage- on 16 December 2009, 21:06:13
I don't know...
Title: Re: Glest 3.2.2 for Linux
Post by: RainCT on 4 January 2010, 17:05:23
What about http://packages.ubuntu.com/karmic/glest (http://packages.ubuntu.com/karmic/glest)?

Edit: Actually, I've just checked and the ones in GetDeb are just a backport of the official Debian/Ubuntu packages.
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 5 January 2010, 00:33:02
Cause of all the trouble was the broken data package in Ubuntu (which just lacked the tutorials).
https://bugs.launchpad.net/ubuntu/+source/glest/+bug/424968

This will be fixed in the next release of Ubuntu. They transfered the fixed package from Debian Sid:
http://packages.ubuntu.com/lucid/glest-data
Title: Re: Glest 3.2.2 for Linux
Post by: irgendwer on 16 March 2010, 03:16:42
The sourcecode is also available, but we recommend the official binaries, compiled by me:

Tried that, but didn't get it to work on Debian x86_64. After manually fetching all these required 32-Bit libs, and after having the LDD output appearing clean, the binary aborts telling something about a missing Symbol (whyever).

But I managed to get the current sources from sourceforge compiled from the makefiles: The required tools and libs can all be installed from the paket manager. I think it was necessary to chmod -R 755 the source dir, add a stdio-include-line to socket.cpp, and carefully watch the output of autogen.sh (requires packages automake, jam) and ./configure for missing headers (wich are normally in similary named -dev packages). "./" was a subdir named linux.

Anyway, I haven't tested netwok, yet. But a nice game, thanks!
Title: Re: Glest 3.2.2 for Linux
Post by: softcoder on 16 March 2010, 04:32:45
I highly recommend either working with GAE (Glest advanced engine) or Mega-glest which are forks of regular Glest (which is no longer active, but the community is VERY active with these two forks).

Thanks
Title: Re: Glest 3.2.2 for Linux
Post by: booner on 31 May 2010, 15:01:16
This post is meant to document my struggle to compile the source of glest, It will show some progress with problems
documented in this thread as well as current hurdles. In that sense it is meant to, hopefully, help some users as
well as document current obstacles in the event that others may shed some insights.

OS:
Fedora 11 (Leonidas)
Kernel Linux 2,6,29,6-217.2.16.fc11.i586
GNOME 2.26.3

Hardware
Memory 246.3 MiB
Processor: Pentium III (Coppermine)

The above goes against the recommended Pentium IV requirement which was noted somewhere along this quest; yet the
hope was to get things running for demo sake even if slow.

My process is usually to download a new package into my Download directory (/home/booner/Download) and to get the
package running there first before installing.

Steps taken to date

Created the directory  /home/booner/Download/glest
Downloaded glest_source_3.2.2.zip into the above directory, then unpacking with command:
unzip glest_source_3.2.2.zip

After completing the steps in the /home/booner/Download/glest/docs/readme_linux.txt file the same problem with
xerces-c was encountered (which is mentioned in previous posts on this thread)

Tried to update xerces-c on the system; yet the problem still existed. Then noticing that there was a newer version
at http://xerces.apache.org/xerces-c/download.cgi than in the Fedora repository, the newer binary was downloaded and
installed in /home/booner/Download using the command:
tar zxvf xerces-c-3.1.1-x86-linux-gcc-3.4.tar.gz
Then after running autogen.sh ran configure with the following command line:
./configure --with-libxerces=/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4

This solved the xerces-c problem yet then continued to the next, and similar, problem with OpenAL. This was overcome
by running the commands:
yum install openal.i586
yum install openal-devel.i586
After that configure was able to run error free using command:
./configure --with-libxerces=/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4

Moving to the next step it was found that jam was not installed so ran command:
yum install jam.i586

Running jam then ran producing three failures:

.failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o ...
...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o ...
...failed C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o ...

...skipped glest for lack of <T!glest_game!>ai/ai_rule.o...
...failed updating 3 target(s)...
...skipped 2 target(s)...
...updated 137 target(s)...

That is where things stand at the moment and thought a break was in order before delving into C++ code.  :o

Any insights would be most welcome.

P.S. Thought the actual errors from jam would be helpful for any debugging:

Code: [Select]
...found 499 target(s)...
...using 43 temp target(s)...
...updating 5 target(s)...

C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o
shared_lib/sources/platform/posix/socket.cpp: In member function ‘void Shared::Platform::ClientSocket::connect(const
Shared::Platform::Ip&, int)’:
shared_lib/sources/platform/posix/socket.cpp:228: error: ‘sprintf’ was not declared in this scope
shared_lib/sources/platform/posix/socket.cpp:229: error: ‘stderr’ was not declared in this scope
shared_lib/sources/platform/posix/socket.cpp:229: error: ‘fprintf’ was not declared in this scope

    g++ -c -o ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o  -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include     -I/usr/include
-Ishared_lib/sources/../include/platform/sdl -Ishared_lib/sources/../include/platform/posix
-Ishared_lib/sources/../include/util -Ishared_lib/sources/../include/graphics
-Ishared_lib/sources/../include/graphics/gl -Ishared_lib/sources/../include/sound
-Ishared_lib/sources/../include/sound/openal -Ishared_lib/sources/../include/xml -Ishared_lib/sources/../include/glew
-Ishared_lib/sources/../include/lua   -O3 -DNDEBUG shared_lib/sources/platform/posix/socket.cpp

...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o ...
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o
shared_lib/sources/xml/xml_parser.cpp: In member function ‘Shared::Xml::XmlNode* Shared::Xml::XmlIo::load(const
std::string&)’:
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘DOMBuilder’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘parser’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:90: error: ‘class xercesc_3_1::DOMImplementationLS’ has no member named
‘createDOMBuilder’
shared_lib/sources/xml/xml_parser.cpp:93: error: ‘fgDOMValidation’ is not a member of ‘xercesc_3_1::XMLUni’
shared_lib/sources/xml/xml_parser.cpp: In member function ‘void Shared::Xml::XmlIo::save(const std::string&, const
Shared::Xml::XmlNode*)’:
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘DOMWriter’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘writer’ was not declared in this scope
shared_lib/sources/xml/xml_parser.cpp:122: error: ‘class xercesc_3_1::DOMImplementation’ has no member named
‘createDOMWriter’

    g++ -c -o ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o  -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include     -I/usr/include
-Ishared_lib/sources/../include/platform/sdl -Ishared_lib/sources/../include/platform/posix
-Ishared_lib/sources/../include/util -Ishared_lib/sources/../include/graphics
-Ishared_lib/sources/../include/graphics/gl -Ishared_lib/sources/../include/sound
-Ishared_lib/sources/../include/sound/openal -Ishared_lib/sources/../include/xml -Ishared_lib/sources/../include/glew
-Ishared_lib/sources/../include/lua   -O3 -DNDEBUG shared_lib/sources/xml/xml_parser.cpp

...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o ...
...skipped libglestlib.a for lack of libglestlib.a(socket.o)...
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o
glest_game/ai/ai_rule.cpp: In member function ‘virtual bool Glest::Game::AiRuleMassiveAttack::test()’:
glest_game/ai/ai_rule.cpp:156: error: ‘INT_MAX’ was not declared in this scope
glest_game/ai/ai_rule.cpp: In member function ‘virtual bool Glest::Game::AiRuleExpand::test()’:
glest_game/ai/ai_rule.cpp:815: error: ‘INT_MAX’ was not declared in this scope

    g++ -c -o ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o  -DPACKAGE_NAME="glest"
-DPACKAGE_TARNAME="glest" -DPACKAGE_VERSION="3.1.2" -DPACKAGE_STRING="glest 3.1.2"
-DPACKAGE_BUGREPORT="matze@braunis.de" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
-DUSE_POSIX_SOCKETS=/**/ -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL=/**/ -DHAVE_PTHREAD=1 -I.
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread
-I/home/booner/Download/xerces-c-3.1.1-x86-linux-gcc-3.4/include     -I/usr/include
-Iglest_game/../shared_lib/include/../include/platform/sdl
-Iglest_game/../shared_lib/include/../include/platform/posix -Iglest_game/../shared_lib/include/../include/util
-Iglest_game/../shared_lib/include/../include/graphics -Iglest_game/../shared_lib/include/../include/graphics/gl
-Iglest_game/../shared_lib/include/../include/sound -Iglest_game/../shared_lib/include/../include/sound/openal
-Iglest_game/../shared_lib/include/../include/xml -Iglest_game/../shared_lib/include/../include/glew
-Iglest_game/../shared_lib/include/../include/lua -Iglest_game/. -Iglest_game/ai -Iglest_game/facilities
-Iglest_game/game -Iglest_game/global -Iglest_game/graphics -Iglest_game/gui -Iglest_game/main -Iglest_game/menu
-Iglest_game/network -Iglest_game/sound -Iglest_game/type_instances -Iglest_game/types -Iglest_game/world   -O3
-DNDEBUG glest_game/ai/ai_rule.cpp

...failed C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o ...
...skipped glest for lack of <T!glest_game!>ai/ai_rule.o...
...failed updating 3 target(s)...
...skipped 2 target(s)...


Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 31 May 2010, 18:06:28
socket.cpp misses an include:
https://forum.megaglest.org/index.php?topic=4546.msg42393#msg42393

You need xerces-c 2.8. Later versions will not work. If you need to use 3.0 or later versions use this patch (the second one):
http://bugs.gentoo.org/259701
Title: Re: Glest 3.2.2 for Linux
Post by: booner on 31 May 2010, 18:43:45
Thank you Yggdrasil! After following your instructions of installing xerces-c 2.8 and adding #include <cstdio> to socket.cpp there is now a binary glest in the directory. You have saved much hair pulling!  :D

Will move forward to get the game running now.

Update
The compiled version of glest booted up fine. It was slow running as one would expect running it on a Pentium III. However the tutorial was able to be accessed and the game exited error free. The game looks very cool and expect me back once present hardware restrictions are overcome.]
Title: Re: Glest 3.2.2 for Linux
Post by: silnarm on 1 June 2010, 03:28:52
Check the compiler flags, I think the Jamfiles that ship with Glest 3.2.2 might be set to build for debugging, so no optimisations, lots a costly asserts, and linking with the debug CRT.  If this is the case, it will run very slow indeed.
Title: Re: Glest 3.2.2 for Linux
Post by: Yggdrasil on 1 June 2010, 12:08:32
No, Glest's jam defaults to optimize. In GAE debug was default in jam, i think.
Title: Re: Glest 3.2.2 for Linux
Post by: CheatCat on 7 July 2010, 16:50:58
I don't like the deal with symlinking, people tell that is bad. Can I just compile the game on my system or will I still get the libopenal.so.0 error?
Title: Re: Glest 3.2.2 for Linux
Post by: softcoder on 7 July 2010, 17:33:42
If you compile on your system then it means you already have libopenal (or it won't compile).

For people who compile and roll their own.. just copy glest.bin to the data/glest_game folder and run ./glest.bin from there and it should find the lib's already installed on your system.
Title: Re: Glest 3.2.2 for Linux
Post by: CheatCat on 7 July 2010, 20:02:08
Yeah, I have openal, but not the libopenal.so.0 file...