On Tue, 29 Apr 1997, Nicola Bernardelli wrote:
> On Mon, 28 Apr 1997, Nicola Bernardelli wrote:
>
> > On Sun, 27 Apr 1997, Nicola Bernardelli wrote:
> >
> > > Sad to say, I'm not replying to my own question about Air Combat
> > > Maneuvers under Debian 1.2.4...
> >
> > Not yet...
> > ...
>
> And not yet, but I can rebuild the binaries now...
>
I notice that with a workaround ACM runs fast. But it is not a clean
solution, and together with 'xlock -mode rotor' being that slow it makes
me wonder about possible changes to some timers (?) behaviour under
Debian. PLEASE, give a look at the script I put as first text attachment,
I've been working some time to write those remarks, there is a section in
great evidence focusing the problem. The script is replicated in the tgz I
put as second attachment, also containing the patch files used by the
script.
(Last night I also got ACM 4.8 from ftp.netcom.com/pub/ra/rainey/acm/
and it is even a greater package to learn from, but I can't rebuild it for
Linux yet, this time :-) it seems it is not enough going to
/usr/include/sys/ and typing 'ln -s file.h filio.h', nor I can fix the
-lelf test done by the configure script just with -L/usr/lib/elf.)
Thanks to anybody getting curious about this (so far) misterious
"timing" topic.
Nicola Bernardelli <nbern@mail.protos.it>
---------------------------------------------------------------------------
Please use <n.bern@mail.protos.it> for messages from any kind of
robot, such as mailing lists. From that address no autoresponse
messages will return even when I'm not at home.
---------------------------------------------------------------------------
#!/bin/bash
# Nicola Bernardelli <nbern@mail.protos.it> / Debian 1.2.4
# May 1st 1997. Dirty workaround (a few tiny patches) to rebuild ACM
# and have it run fast.
# I'm a newbie to Debian Linux so please consider just READING this
# script, checking that nothing here is going to put your system in a
# mess, and possibly running each step typing it by hand (don't forget
# the environment variable) and checking what the result is before
# proceeding (of course everything is fine HERE with the acm-4.7-3
# source tree found in the Debian 1.2.4 CD from CheapBytes [that is
# ftp'ed from the Debian site]).
# As you can see, the Debian 1.2(.4) CD is assumed to be mounted under
# /cdrom but you will most probably comment out that line and untar
# the acm source tree by yourself. Anyway you should be in the parent
# of the acm-4.7/ directory where the source tree starts.
# patch A could be avoided:
#
# 1) if -lelf was working in the test performed by the configure
# script (which is not, almost here, I have to say -L/usr/lib/elf
# to ld, though that library appears in the result of 'ldconfig -v'
# or 'ldconfig -D');
# 2) if you put a symbolic link inside /usr/include/sys:
# ln -s file.h filio.h
# The other patches are rather brutal as they act AFTER the configure
# script to modify the produced Makefiles. Like this (and with context
# diff files!) if any peculiarity of the system leads to slightly
# different Makefiles then automatic application of the patches is
# most likely going to fail. THAT'S WHY I SUGGEST TO PROCEED MANUALLY
# STEP BY STEP. And if any patch fails, then it should be rather easy
# to read the patch file yourself and modify the destination file with
# an editor. Of course, a clean job would be going back to the
# Imakefile's and act BEFORE the configure script.
# ---------------------------------------------------------------------
# I M P O R T A N T
#
# Everything is configured and compiled with REAL_DELTA_T=no but it
# should *NOT* be necessary: old binaries working well under other
# Linux installations I tested/I still have here on the same machine
# are VERY slow with Debian 1.2.4, just like if I rebuild the binaries
# without that environment variable set to "no". I was trying to do
# some profiling (*) (just add -pg to the optimization flags turned on
# by patch B1, or proceed A-configure-B-C instead of A-configure-B1-C1
# in order to do profiling on the binaries built without the
# REAL_DELTA_T=no environment setting) but I have not investigated
# that much so far... maybe USE OF A TIMER... maybe some system guru
# has the answer immediately (but none answered so far on the mailing
# list debian-user@lists.debian.org).
#
#
# Also (but don't know whether it is related or not)
# 'xlock -mode rotor'
# is very slow and is worth some profile session. In the patches/
# directory there is a patch I applied HERE to the source tree got
# as
# /cdrom/rex-fixed/source/x11/xlockmore_3.11.orig.tar.gz
# +
# /cdrom/rex-fixed/source/x11/xlockmore_3.11-3.diff.gz
#
# in order to be able to rebuild the executeable and to switch on
# profiling (**). What about that sub_timers(...) function?
#
#
# (*) (**) See 'man gprof'
# ---------------------------------------------------------------------
REAL_DELTA_T=no ; export REAL_DELTA_T
tar -zxvf /cdrom/rex-fixed/source/games/acm_4.7-3.tar.gz
patch < patches/acm-4.7-debian1.2.4-patch-A-beforeRunningConfigure
cd acm-4.7/
./configure
cd ..
patch < "patches/acm-4.7-debian1.2.4-patch-B1-toOptimize-AFTER-REAL_DELTA_T=no-configure"
patch < patches/acm-4.7-debian1.2.4-patch-C1-toChangeInstDirs
# cd acm-4.7/
# make
# make install
echo
echo "Now you should be able to do:"
echo
echo "cd acm-4.7/"
echo "make"
echo " To eventually test it, in X:"
echo " cd src/"
echo " ./acms &"
echo " ./acm -geometry 320x200"
echo " # Not everything ^ readable but rather fast (P90/ET4000w32p related)"
echo " cd .."
if [ -r /usr/games/acm -a -r /usr/games/acms ]; then
echo " To eventually avoid overwriting the old binaries:"
else
echo
echo " I SUGGEST YOU HAVE dselect INSTALL THE ACM PACKAGE"
echo " bringing postscript documentation and man page."
echo
echo " Then, to eventually avoid overwriting the old binaries:"
fi
echo " cd /usr/games ; mv acms acms.orig ; mv acm acm.orig"
echo " cd /usr/lib/games; mv acm acm.orig"
echo "make install"
echo
Attachment:
acm-4.7-workaround.tgz
Description: The script + patch files it uses