Author Topic: Glest 3.2.2 for Linux  (Read 69410 times)

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Glest 3.2.2 for Linux
« Reply #25 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........
Egypt Remastered!

Proof: Owner of glest@mail.com

codaarrella

  • Guest
Glest 3 2 2 for Linux
« Reply #26 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

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Glest 3.2.2 for Linux
« Reply #27 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!
Egypt Remastered!

Proof: Owner of glest@mail.com

just_a_small_tip

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #28 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

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Glest 3.2.2 for Linux
« Reply #29 on: 16 December 2009, 00:40:28 »
How about 9.10(Karmic)?
Egypt Remastered!

Proof: Owner of glest@mail.com

just_a_small_tip

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #30 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?

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Glest 3.2.2 for Linux
« Reply #31 on: 16 December 2009, 21:06:13 »
I don't know...
Egypt Remastered!

Proof: Owner of glest@mail.com

RainCT

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #32 on: 4 January 2010, 17:05:23 »
What about 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.
« Last Edit: 4 January 2010, 17:07:30 by RainCT »

Yggdrasil

  • GAE Team
  • Ornithopter
  • ********
  • Posts: 408
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #33 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

irgendwer

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #34 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!

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,238
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #35 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

booner

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #36 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)...


« Last Edit: 31 May 2010, 15:32:53 by booner »

Yggdrasil

  • GAE Team
  • Ornithopter
  • ********
  • Posts: 408
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #37 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

booner

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #38 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.]
« Last Edit: 31 May 2010, 20:09:40 by booner »

silnarm

  • GAE Team
  • Behemoth
  • ********
  • Posts: 1,373
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #39 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.
Glest Advanced Engine - Code Monkey

Timeline | Downloads

Yggdrasil

  • GAE Team
  • Ornithopter
  • ********
  • Posts: 408
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #40 on: 1 June 2010, 12:08:32 »
No, Glest's jam defaults to optimize. In GAE debug was default in jam, i think.

CheatCat

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #41 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?

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,238
    • View Profile
Re: Glest 3.2.2 for Linux
« Reply #42 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.

CheatCat

  • Guest
Re: Glest 3.2.2 for Linux
« Reply #43 on: 7 July 2010, 20:02:08 »
Yeah, I have openal, but not the libopenal.so.0 file...