News:

If you are a developer, please build MegaGlest on your own and get in touch to contribute (or post your patches on the forums).

Main Menu

Glest 3.2.2 for Linux

Started by titi, 3 April 2009, 20:54:45

titi

Download binaries and data.  ( !! 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:
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



Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

Platyhelminth

#1
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):
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:

getlibs <PathToGlestInstallation>/glest.bin

For trouble with libopenal.so.0 the command is like:

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:

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.

-Archmage-

#2
I'd like to make an installer for 32 and 64 bit machines.

32-bit first.

-Archmage-

Put together a package based on the Download links you posted Titi.

Get it here

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

sg1efc

Quote from: -Archmage- on 24 October 2009, 21:37:20
Put together a package based on the Download links you posted Titi.

Get it here

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.   :)

-Archmage-

#5
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 )

-Archmage-

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.

-Archmage-

Error Report:
./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?

-Archmage-

New error:

seth@Kelley-2008:~/Programs/LinuxGlest/Glest_3.2.2$ ./glest.bin
./glest.bin: symbol lookup error: ./glest.bin: undefined symbol: _ZN11xercesc_2_76XMLUni22fgXercescDefaultLocaleE

titi

start ./glest instead of ./glest.bin



Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

-Archmage-

What does that do?
Just tried it, doesn't seem to do anything...

Yggdrasil

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.

-Archmage-

How do I remove a symlink?

Yggdrasil

Just delete it.

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

Please run:

$ ls -l /usr/lib | grep xerces

and post output.

-Archmage-

QuoteWhat 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:
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

Yggdrasil

Looks fine. Is there any entry in glest.log after running ./glest?

-Archmage-

#16
Checking...

Done.

./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?:

getlibs -l libstdc++.so.6

Yggdrasil

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:

$ LD_LIBRARY_PATH=/usr/lib32:./lib ./glest.bin

-Archmage-

Just tried:
$ LD_LIBRARY_PATH=/usr/lib32:./lib ./glest.bin

I still get:
./glest.bin: symbol lookup error: ./glest.bin: undefined symbol: _ZN11xercesc_2_76XMLUni22fgXercescDefaultLocaleE





Trying my getlibs thing....

Done, result:

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$

-Archmage-

I still have the symlink problem...
How do I delete it?
I really don't know anything about symlinks...

Yggdrasil

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.

$ getlibs -l libxerces-c28
$ ls -l /usr/lib32 | grep xerces

Only proceed, if there is libxerces-c.so.28.

$ 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

titi

Why don't you simply use the installer from www.liflg.org? They have a 64 bit version.



Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

-Archmage-

Because that starts all over with the libxerces problem.

-Archmage-

#23
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: getlibs -l libxerces-c28 Did this: 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: ls -l /usr/lib32 | grep xerces Did this: 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?


Yggdrasil

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.