MegaGlest Forum

Archives (read only) => Vanilla Glest => Linux and other ports => Topic started by: fidesratio on 14 September 2007, 14:44:21

Title: Success building Glest on Slamd64
Post by: fidesratio on 14 September 2007, 14:44:21
Hello!  I managed to successfully build and run Glest on Slamd64 (http://slamd64.com/ (http://slamd64.com/)).  Runs well on 64-bit platform.  

Slamd64 doesn't come equipped with many of the build tools/libraries you need to build Glest, so I had to build those on my own.

I manually had to compile and install:

OpenAL 0.0.8
(http://www.openal.org/openal_webstf/dow ... 0.8.tar.gz (http://www.openal.org/openal_webstf/downloads/openal-0.0.8.tar.gz))

Xerces-C++ 2.8.0
(http://mirrors.dedipower.com/ftp.apache ... 8_0.tar.gz (http://mirrors.dedipower.com/ftp.apache.org/xerces/c/sources/xerces-c-src_2_8_0.tar.gz))

Ft-Jam 2.5.2
(Sourceforge: https://sourceforge.net/project/showfil ... up_id=3157 (https://sourceforge.net/project/showfiles.php?group_id=3157))

Dos2Unix
http://www.thefreecountry.com/tofrodos/index.shtml (http://www.thefreecountry.com/tofrodos/index.shtml)
(Just ln -s tofrodos dos2unix)
;)

wxGTK
http://www.wxwidgets.org/downloads/ (http://www.wxwidgets.org/downloads/)


I found the source files a bit muddled, and moved things around a bit in order to assist in compiling.  I made a few symlinks as well.  It may seem hokey to some, but it worked for me.  

*  I moved the mk/ directory into the source/ directory.
*  In the mk/linux directory, I made a softlink ln -s ./mk/autoconf ./autoconf
(This is needed because some configuration files look for mk/autoconf, others just autoconf)

I then slightly modified the autogen.sh file:

Code: [Select]
# create symlinks to the source dirs
echo "Updating Source symlinks..."
if [ ! -d shared_lib ]; then
  ln -sf ../../source/shared_lib .
fi
if [ ! -d glest_game ]; then
  ln -sf ../../source/glest_game .
fi
if [ ! -d glest_map_editor ]; then
  ln -sf ../../source/glest_map_editor .
fi

became

Code: [Select]
# create symlinks to the source dirs
echo "Updating Source symlinks..."
if [ ! -d shared_lib ]; then
  ln -sf ../shared_lib .
fi
if [ ! -d glest_game ]; then
  ln -sf ../glest_game .
fi
if [ ! -d glest_map_editor ]; then
  ln -sf ../glest_map_editor .
fi

After those changes, I went back to the sources/ directory, and ran:
Code: [Select]
dos2unix `find . -type f`

As been mentioned in previous threads, almost all the cpp/h files are CR-LF ended, so I had to run dos2unix. Then, in the sources/ directory I made a build/ directory, and ran:
Code: [Select]
lndir ../mk/linux

lndir is apart of X.Org, and creates a full directory structure in build/ mimicing mk/linux. It keeps the source directories clean.  Then I ran autogen.sh from the build/ directory.  Everything ran fine, with a few automake warnings.  

Then, I ran
Code: [Select]
./configure --prefix=/usr --libdir=/usr/lib64 --with-wx-config="/usr/bin/wx-config  std,gl --cflags --unicode=yes"


I needed to specifiy the --with-wx-config option because I built wxGTK with unicode (as recommended in their build instructions.)  You may have to fiddle with the wx-config options depending on how you/your distribution built wxWindows/wxGTK.

After than, I simply ran `jam -j4` (-j4 runs more shells at once and speeds things up) and it compiled without any errors.

It will compile the glest binary in the builds/ directory.  Copy it and glest.ini (you only need these two) into the directory where you extracted the glest_data .zip archive.  Then simply run ./glest.  

Runs really well for me!  

Hope this helps someone.  

Cheers,

-= Steve =-
Title:
Post by: carlinuxlearner on 27 February 2008, 20:37:58
Hey thanks for posting this, it helped me a lot!

C@RL
Title:
Post by: daniel.santos on 1 March 2008, 04:03:42
Just a note, Martino has corrected some of those CR-LF problems by setting the svn:eol-type to native, but this hasn't happened to all of the source files yet.  This makes them all consistent across platforms :)