Linux - GamesThis forum is for all discussion relating to gaming in Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
HI all, I'm on FC3 and installed Sim City 3000 unlimited but when I tried to run it, I found an error with glibc after googling for this, I found I need a patch, the problem is when I try to run the patch I get this:
That's the default error message you get when running the bash built-in `trap' with too few, many or wrong arguments.
I would guess that sc3u-2.0a-x86.run is, contains or creates a bash script.
could you please look in sc3u-2.0a-x86.run--and if it's readable or contains readable chunks of a reasonable size, post them? Otherwise please just post the output of this:
OK, it's a long file (7mb) but the readable part is this:
label="SimCity 3000 Unlimited 2.0a Update"
script=./update.sh
targetdir=sc3u-2.0a-x86
scriptargs=""
keep=n
finish=true; xterm_loop=;
[ x"$1" = x-xwin ] && {
finish="echo Press Return to close this window...; read junk"; xterm_loop=1; shift 1;
}
if [ x"$1" = "x-help" -o x"$1" = "x--help" ]; then
cat << tac
1) Getting help or info about $0 :
$0 --help Print this message
$0 --info Print embedded info : title, default target directory, embedded script ...
$0 --lsm Print embedded lsm entry (or no LSM)
$0 --list Print the list of files in the archive
$0 --check Checks integrity of the archive
2) Running $0 :
$0 [options] [additional arguments to embedded script]
with following options (in that order)
--confirm Ask before running embedded script
--keep Do not erase target directory after running embedded script
--target NewDirectory Extract in NewDirectory
tac
exit 0;
fi
if [ x"$1" = "x-lsm" -o x"$1" = "x--lsm" ]; then
cat << EOF_LSM
no LSM
EOF_LSM
exit 0;
fi
if [ "$1" = "--info" ]; then
echo Identification: $label
echo Target directory: $targetdir
echo Uncompressed size: 8674 KB
echo Compression: gzip
echo Date of packaging: Tue Nov 7 17:18:06 PST 2000
echo script run after extraction: $script $scriptargs
[ x"$keep" = xy ] && echo "directory $targetdir is permanent" || echo "$targetdir will be removed after extraction"
exit 0;
fi
if [ "$1" = "--list" ]; then
echo Target directory: $targetdir
tail +$skip $0 | gzip -cd | tar tvf -
exit 0;
fi
if [ "$1" = "--check" ]; then
sum1=`tail +6 $0 | cksum | sed -e 's/ /Z/' -e 's/ /Z/' | cut -dZ -f1`
[ $sum1 -ne $CRCsum ] && {
echo Error in checksums $sum1 $CRCsum
exit 2;
}
if [ $MD5 != "00000000000000000000000000000000" ]; then
# space separated list of directories
[ x"$GUESS_MD5_PATH" = "x" ] && GUESS_MD5_PATH="/usr/local/ssl/bin"
MD5_PATH=""
for a in $GUESS_MD5_PATH; do
if which $a/md5 >/dev/null 2>&1 ; then
MD5_PATH=$a;
fi
done
if [ -x $MD5_PATH/md5 ]; then
md5sum=`tail +6 $0 | $MD5_PATH/md5`;
[ $md5sum != $MD5 ] && {
echo Error in md5 sums $md5sum $MD5
exit 2;
} || { echo check sums and md5 sums are ok; exit 0; }
fi
if [ ! -x $MD5_PATH/md5 ]; then
echo an embedded md5 sum of the archive exists but no md5 program was found in $GUESS_MD5_PATH
echo if you have md5 on your system, you should try :
echo env GUESS_MD5_PATH=\"FirstDirectory SecondDirectory ...\" $0 -check
fi
else
echo check sums are OK ; echo $0 does not contain embedded md5 sum ;
fi
exit 0;
fi
[ x"$finish" = x ] && finish=true
parsing=yes
x11=y
while [ x"$parsing" != x ]; do
case "$1" in
--confirm) verbose=y; shift;;
--keep) keep=y; shift;;
--nox11) x11=n; shift;;
--target) if [ x"$2" != x ]; then targetdir="$2"; keep=y; shift 2; fi;;
*) parsing="";;
esac
done
if [ "$x11" = "y" ]; then
if ! tty -s; then # Do we have a terminal?
if [ x"$DISPLAY" != x -a x"$xterm_loop" = x ]; then # No, but do we have X?
if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable
GUESS_XTERMS="dtterm eterm Eterm xterm rxvt kvt"
for a in $GUESS_XTERMS; do
if which $a >/dev/null 2>&1; then
XTERM=$a
break
fi
done
chmod a+x $0 || echo Please add execution rights on $0
if [ `echo "$0" | cut -c1` = / ]; then # Spawn a terminal!
exec $XTERM -title "$label" -e "$0" -xwin "$@"
else
exec $XTERM -title "$label" -e "./$0" -xwin "$@"
fi
fi
fi
fi
fi
if [ "$keep" = y ]; then echo "Creating directory $targetdir"; tmpdir=$targetdir;
else tmpdir="/tmp/selfgz$$"; fi
mkdir $tmpdir || {
$echo 'Cannot create target directory' $tmpdir >&2
$echo 'you should perhaps try option -target OtherDirectory' >&2
eval $finish; exit 1;
}
location=`pwd`
echo=echo; [ -x /usr/ucb/echo ] && echo=/usr/ucb/echo
$echo -n Verifying archive integrity...
sum1=`tail +6 $0 | cksum | sed -e 's/ /Z/' -e 's/ /Z/' | cut -dZ -f1`
[ $sum1 -ne $CRCsum ] && {
$echo Error in check sums $sum1 $CRCsum
eval $finish; exit 2;
}
echo OK
if [ $MD5 != \"00000000000000000000000000000000\" ]; then
# space separated list of directories
[ x$GUESS_MD5_PATH = x ] && GUESS_MD5_PATH=\"/usr/local/ssl/bin\"
MD5_PATH=\"\"
for a in $GUESS_MD5_PATH; do
if which $a/md5 >/dev/null 2>&1 ; then
MD5_PATH=$a;
fi
done
if [ -x $MD5_PATH/md5 ]; then
md5sum=`tail +6 $0 | $MD5_PATH/md5`;
[ $md5sum != $MD5 ] && {
$echo Error in md5 sums $md5sum $MD5
eval $finish; exit 2;
}
fi
fi
$echo -n "Uncompressing $label"
cd $tmpdir
[ "$keep" = y ] || trap 'cd /tmp; /bin/rm -rf $tmpdir; exit $res'
if ( (cd $location; tail +$skip $0; ) | gzip -cd | { tar xvf - || failed=y ; } | (while read a; do $echo -n .; done; echo; )); then
if [ x$failed = xy ]; then
echo 'File extraction failed!'; cd /tmp; /bin/rm -rf $tmpdir; eval $finish; exit 1
fi
chown -Rf `id -u`.`id -g` .
res=0; if [ x"$script" != x ]; then
if [ x"$verbose" = xy ]; then
$echo "OK to execute: $script $scriptargs $* ? [Y/n] "
read yn
[ x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY ] && { $script $scriptargs $*; res=$?; }
else
$script $scriptargs $*; res=$?
fi
[ $res != 0 ] && echo "The program returned an error code ($res)"
fi
[ "$keep" = y ] || { cd /tmp; /bin/rm -rf $tmpdir; }
else
echo "Cannot decompress $0"; eval $finish; exit 1
fi
eval $finish; exit $res
END_OF_STUB
The result of 'file sc3u-2.0a-x86.run' was this:
[vicente@localhost ~]$ file sc3u-2.0a-x86.run
sc3u-2.0a-x86.run: Bourne shell script text executable
[vicente@localhost ~]$
3) Could you please run it like this:
$ bash -x fname.run
(where fname is that dumb name that takes forever to type ) and either post the output, or (if its too big) upload it or mail it to me?
You could have applied the patch also deleting the first lines (where readable) and then saving the file as a tar.gz. Unpacking it would create a directory with an "update.sh" file.
Anyway, I'm not able to run the game: it starts, but it presents no video. I can hear sound, anyway. Anybody with this issue?
The patch script was made for the Bourne Again SHell (bash) so you should always try this when it doesn't work.
bash sc3u-2.0a-x86.run
I can read that u did it and got it to update.
But if i get things right it still Segmentation faults?
The pathc applied cleanly in the way jonaskoelker told me to apply it but still got errors when running sc3u so I had to run it like this:
Code:
LD_ASSUME_KERNEL=2.2.4 /usr/local/games/SC3U/sc3u
Anyway after I upgraded to FC4 (clean install) I had to erase the game, so doesn't matter now.
Hey anyone. I also installed FC4 and would love to play Sim City 3000 once more - I know its old, but I love it!! The
Code:
LD_ASSUME_KERNEL=2.2.4
does not work! I get
Code:
LD_ASSUME_KERNEL=2.2.4 bash setup.sh
This installation doesn't support glibc-2.1 on Linux / x86
Please contact Loki Technical Support at support@lokigames.com
Sorry if I can't help you there. I made a FC4 clean install and erased the game. Since that, I haven't reinstalled it. Anyway, you can try the following code:
Code:
LD_ASSUME_KERNEL=2.2.5 /usr/local/games/SC3U/sc3u
It worked for me on FC3, maybe on FC4 works too.
Last edited by Hungry ghost; 12-12-2005 at 07:03 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.