For Slackers, ;D

For Slackers, ;D

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

Post Reply
User avatar
sombriks
Posts: 50
Joined: 03 Jan 2008, 15:40

For Slackers, ;D

Post by sombriks »

there comes a partial how-to:

== UPDATE ==

simply go to the wiki section, ;)
http://spring.clan-sy.com/wiki/Slackware12_install

== END UPDATE ==
SPRING - Slackware guide

In order to get Total Annihilation: Spring working properly on our
favourite system, some steps are needed:

1- tgz dependencies:

I will assume that your slack installation was full; it handles about
60% of the dependencies. Download aind install the following
precompiled tgz dependencies:

glew (http://www.linuxpackages.net/pkg_details.php?id=12051)
DeviL (http://www.linuxpackages.net/pkg_details.php?id=10571)
boost (http://www.linuxpackages.net/pkg_details.php?id=12046)
icu (http://www.linuxpackages.net/pkg_details.php?id=12034)
openal (http://www.linuxpackages.net/pkg_details.php?id=11993)
wxWidgets (http://www.linuxpackages.net/pkg_details.php?id=12072)

2- build stuff:

Scons (http://www.linuxpackages.net/pkg_details.php?id=11822)

3- the lobby precompiled:

springlobby (http://www.linuxpackages.net/pkg_details.php?id=12177)

3.1- the source part:

spring (http://spring.clan-sy.com/dl/spring_0.76b1_src.tar.bz2)

All dependencies except wx are for spring; springlobby is the one who
requires that lib.

After all tgz's are installed (i'm assuming that you know how to use
installpkg) take Scons readme and use "python setup.py install" as root
in order to put scons to work on your system. After it you will be able
to build spring.

Unpack the bz2 containing spring and do as root "scons configure; scons;
scons install" in the prompt. Your spring copy will be ready soon.


3.2- get a .tgz precompiled (thanks to Leo Moisio)
http://www.springlobby.info/slackware/s ... 6-1leo.tgz

Since you already have all .tgz's of dependencies, simply installpkg everything,
and you will be near to playable stage.

Afer all processes you will have a lobby and the game almost working.
You will need the OTA content to play some mods. There are mods that
doesn't need nothing from original Total Annihilation (kernelPanic and
1944,as example).

4- ota-content (http://ipxserver.dyndns.org/games/sprin ... ontent.zip)
unpack it inside /usr/share/games/spring/base, or ~/.spring/base

finally, get some maps, connect and go kill something, ;D
as you can see, many things must be improved.
also, i'm working on a .SlackBuild to springlobby and spring itself. bellow an initial version of springlobby one:

Code: Select all


#!/bin/sh
# slackbuild made to pack springlobby for Slackware
# by Sombriks

#1- do varaiables
PRG=springlobby
VERSION=0.0.1.1006
ARCH=i486
TRY=1leo
TMP=/tmp
CWD=$(pwd)

#2-MUST be root
if [ $(whoami) == root ]
	then
		#3-do some groundwork...
		if [ -d $TMP/pack-spring/dest ]
			then
				rm -rf $TMP/pack-spring/dest
		fi
		mkdir -p $TMP/pack-spring
		cp $PWD/$PRG-$VERSION.tar.bz2 $TMP/pack-spring
		cd $TMP/pack-spring
		tar xvjf $PRG-$VERSION.tar.bz2

		#4-go to the compiule time
		cd $PRG-$VERSION
		./configure --prefix=/usr
		make
		mkdir $TMP/pack-spring/dest
		make install DESTDIR=$TMP/pack-spring/dest

		#5-assuming everything ok, let's strip something, :P
		cd $TMP/pack-spring/dest/usr
		strip --strip-unneeded bin/*

		#6-fix to the doc directory
		mv share/doc/ doc
		cd doc
		mv $PRG $PRG-$VERSION
		cd $TMP/pack-spring

		#7-do the package!
		cd dest
		mkdir install
		cp $CWD/slack-desc $TMP/pack-spring/dest/install
		cp $CWD/springlobby.SlackBuild $TMP/pack-spring/dest/usr/doc/$PRG-$VERSION

		find ./ -perm 777 -or -perm 775 -or -perm 555 | xargs chmod 755
		find ./ -perm 666 -or -perm 664 -or -perm 444 | xargs chmod 644

		makepkg -l y -c n $PRG-$VERSION-$ARCH-$TRY.tgz
		
	else
		echo "You must be root, sorry."
fi

anyone feel free to modify and improve, but please release your modifications, :D

optionally, here's a precompiled spring tgz that works pretty well on Slackware 12:
http://rapidshare.com/files/89531743/sp ... 6-1leo.tgz
Last edited by sombriks on 30 Jul 2008, 00:14, edited 10 times in total.
User avatar
det
Moderator
Posts: 737
Joined: 26 Nov 2005, 11:22

Re: For Slackers, ;D

Post by det »

I don't mean to be a jerk but... but.. oh Hell, yes I do. Install Ubuntu and stop wasting your time :D
HAARP
Posts: 182
Joined: 06 Apr 2006, 07:18

Re: For Slackers, ;D

Post by HAARP »

Goddamnit, not again. There's reasons not to use U. and there's people who don't want it. Get with it
"Linux? You mean Ubuntu?"
Kinection
Posts: 8
Joined: 10 Dec 2004, 06:19

Re: For Slackers, ;D

Post by Kinection »

find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
Seems like that could be made more efficient (use less finds)?

I'm not sure how big of a difference it would make though
find ./ -perm 777 -or -perm 775 -or -perm 555 | xargs chmod 755
find ./ -perm 666 -or -perm 664 -or -perm 444 | xargs chmod 644


... or .. and execdir for each 'or'
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Re: For Slackers, ;D

Post by clericvash »

det wrote:I don't mean to be a jerk but... but.. oh Hell, yes I do. Install Ubuntu and stop wasting your time :D
I use ubuntu, but dude, shutup. Linux does not mean ubuntu.

Thanks for the guide btw.
User avatar
sombriks
Posts: 50
Joined: 03 Jan 2008, 15:40

Re: For Slackers, ;D

Post by sombriks »

we've made one update since the last edit.

now there is a precompiled version of springlobby.

pack spring itself and host it maybe become difficult to me, since the first step to submit an package is serve it to be reviewed. if someone wants to create, or simple help, i'm accepting suggestions about where to host.

and Kinection, thanks for the tip. I've crop the original piece from a .SlackBuild from slacky.eu; since it's seems to work, let's leat it for the next interset to try, :P
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: For Slackers, ;D

Post by Dragon45 »

Fuck everything else, use BackTrack. Now you can gaem and hax at once.
User avatar
sombriks
Posts: 50
Joined: 03 Jan 2008, 15:40

Re: For Slackers, ;D

Post by sombriks »

Dragon45 wrote:Fuck everything else, use BackTrack. Now you can gaem and hax at once.
hey, seems to be a nice distro, BackTrack. Is there someone able to remaster it when the "last package" become ready?

btw, the thread about spring livecd distro should be notified about the possibility, :D
User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: For Slackers, ;D

Post by Dragon45 »

BackTrack is intended to be used primarily for security penetration testing (and blackhatting ofc); putting an unsecured OSS game on it would be mildly ironic.

Like i said - hax teh sprinz!
tussock
Posts: 2
Joined: 15 Apr 2008, 05:59

Re: For Slackers, ;D

Post by tussock »

Hey guys. Little story for y'all. Slackware 12.0.

The .tgz for the spring slack package on
http://spring.clan-sy.com/wiki/Slackware12_install is 404. Oh well, compile it myself I suppose, at least all the other stuff's there, with a little digging.

http://spring.clan-sy.com/dl/spring_0.76b1_src.tar.bz2

Right, so the stable code's being a b* for me, throwing all sorts of "is ambiguous" errors (reasons to stick with vanilla C, true while >0).

Example

Code: Select all

rts/Lua/LuaSyncedCtrl.cpp:1226: error: call of overloaded 'fabsf(const float&)' is ambiguous
/usr/include/bits/mathinline.h:475: note: candidates are: float fabsf(float)
rts/lib/streflop/SMath.h:353: note:                 streflop::Simple streflop::fabsf(streflop::Simple)
Which I can (guesswork) fix by dropping streflop:: in wherever it complains, but then it hits main.cpp and throws up dozens of the things. Am I on the right track there? How have I ended up with duplicate functions that no one else is choking on?

Perhaps something to do with ....

Code: Select all

Checking for C library boost_regex-gcc-mt... (cached) no
Checking for C library boost_regex-mt... (cached) yes
[...]
Checking for C library boost_regex-gcc-mt... (cached) no
Checking for C library boost_regex-mt... (cached) yes
[...]
Everything seems OK.  Run `scons' now to build.
Everything seems OK. Yea, right.


OK, so I've got all the dependencies through http://spring.clan-sy.com/wiki/Slackware12_install , time to try the generic installer at http://spring.clan-sy.com/wiki/Other_distros_install . Only, it demands the boost 1.34.1 library, when linuxpackages.net only has 1.35. :sigh: Not really interested in hunting down the 1.34.1 source just yet.

Another possibility for why the source is choking then, various things not at the expected version.

Hey, at least springlobby works.

Time to try the bleeding edge source, see if this is fixed for me? Why not. Can't get any worse.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: For Slackers, ;D

Post by Tobi »

Which GCC version?
tussock
Posts: 2
Joined: 15 Apr 2008, 05:59

Re: For Slackers, ;D

Post by tussock »

gcc 4.1.2

Doesn't seem to be any more modern packages lying around for Slackware 12.0, though Slackware current has 4.3.2


Trunk code does much better, until ...

Code: Select all

rts/Game/PreGame.cpp: In member function 'void CPreGame::ShowModList()':
rts/Game/PreGame.cpp:544: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
scons: *** [build/rts/Game/PreGame.o] Error 1
scons: building terminated because of errors.
EDIT: of course, just 'scons' again dodged that error. You know, I'm used to computers being at least somewhat consistent, banging ones head against a wall shouldn't really work like that. Building away again as I type ....

Obviously, something's not right, possibly even on my machine. :-)

EDIT2: and one that brute force didn't fix.

Code: Select all

rts/lib/luabind/luabind/class.hpp: In member function 'luabind::class_<T, X1, X2, X3>& luabind::class_<T, X1, X2, X3>::def(luabind::detail::operator_<Derived>, const Policies&)':
rts/lib/luabind/luabind/class.hpp:1027: error: no matching function for call to 'raw(boost::arg<1>&)'
rts/lib/luabind/luabind/class.hpp: In member function 'luabind::class_<T, X1, X2, X3>& luabind::class_<T, X1, X2, X3>::def(luabind::detail::operator_<Derived>)':
rts/lib/luabind/luabind/class.hpp:1037: error: no matching function for call to 'raw(boost::arg<1>&)'
scons: *** [build/rts/lib/luabind/src/open.o] Error 1
scons: building terminated because of errors.
Which is beyond my knowledge of the language, to say the least. Oh well. I guess that Slackware package will turn up again one day, or something.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: For Slackers, ;D

Post by imbaczek »

is that current svn? is your boost at version 1.35?

if so, change rts/lib/luabind/policy.hpp line 1285 to include your gcc version. should help.
User avatar
sombriks
Posts: 50
Joined: 03 Jan 2008, 15:40

Re: For Slackers, ;D

Post by sombriks »

so, a small revamp for search purposes.

tussock, that error in the raw function is something related to boost 1.35, downgrade to 1.34 and everything will work.

i've uploaded all deps (still slackware 12.0, can at least try) in rapidshare:

spring 0.76b1
http://rapidshare.com/files/131501453/s ... 6-1leo.tgz

openAL 0.8
http://rapidshare.com/files/131501452/o ... 86-1df.tgz

DevIL 1.6.8
http://rapidshare.com/files/131501448/D ... 6-1ajl.tgz

boost 1.34.1
http://rapidshare.com/files/131501449/b ... 6-2gds.tgz

icu 3.8.1
http://rapidshare.com/files/131501451/i ... 6-1gds.tgz

glew 1.5.0
http://rapidshare.com/files/131501450/g ... 6-1leo.tgz

springlobby
http://rapidshare.com/files/131501455/s ... 6-1leo.tgz

wxwidgets 2.8.7
http://rapidshare.com/files/131501454/w ... 6-1gds.tgz

except for springlobby, which is too old, these packages are up to date to play using 12.0 series.
Chojin
Posts: 141
Joined: 04 Oct 2006, 11:22

Re: For Slackers, ;D

Post by Chojin »

imbaczek wrote:is that current svn? is your boost at version 1.35?

if so, change rts/lib/luabind/policy.hpp line 1285 to include your gcc version. should help.
Great, thanks! This helped me build on Debian Etch too :)
User avatar
Pressure Line
Posts: 2283
Joined: 21 May 2007, 02:09

Re: For Slackers, ;D

Post by Pressure Line »

In order to get Total Annihilation: Spring working properly on our
favourite system, some steps are needed:
what is Total Annihilation: Spring? oh right. some people have trouble reading and/or comprehending that Spring stopped being called TASpring THREE YEARS AGO.
Post Reply

Return to “Linux”