Thread View: net.games.emp
2 messages
2 total messages
Started by FisherTS
Wed, 13 Nov 1985 13:59
Old Empire 1.1 makefile problems?
Author: FisherTS
Date: Wed, 13 Nov 1985 13:59
Date: Wed, 13 Nov 1985 13:59
25 lines
1859 bytes
1859 bytes
re: Version 1.1 makefile problem? Has anyone else experienced the makefile problem mentioned by Sean Casey (ukma!sean)? I'm not sure what directories are involved, but if the reference was to the EMPIRE and EMPCRE directories, I don't agree with Sean's recommendation to add the $(LIBDIR). Those two directories contain a subdirectory named _unix.O to hold the empire.o and empcre.o objects. Those two objects shouldn't be placed in the library directory, ../_unix.O, where empsub.a, empcom.a, empdis.o, and empglb.o live. Actually, it won't hurt anything if they get put there... but that wasn't the intent. I've seen the makefiles bomb if the directories weren't created properly by the tar command. Make will complain if the _unix.O directory isn't there, and I think the compiler complains if the ownership & mode don't allow writing. If that was the problem, all you have to do is create the directory with mode 755. If anyone has solutions to the 3b2 problems - please mail them to me at ihnp4!druxn!tsf. I don't have access to a 3b2 (yet). The only problems I've heard of so far are the execl problem and something to do with floating point. I think you have to compile it with some kind of option or empcre will die at the first floating point operation. Tom Fisher ihnp4!druxn!tsf
Old empire 1.1 problems: solved
Author: Sean Casey
Date: Thu, 14 Nov 1985 19:25
Date: Thu, 14 Nov 1985 19:25
88 lines
3917 bytes
3917 bytes
IT WORKS! IT WORKS! IT WORKS!
Here's some fixes and suggestions. These are primarily for the guy
who's maintaining it, but I thought they might have some general
usefulness so I'm posting them here.
Makefile: _unix.O
I think it is a good idea to change the makefiles to use the $(LIBDIR)
directory. This cuts down on the complexity by keeping things in a
common directory. Whether or not I can persuade Tom that it's a good
idea, I'd also like to suggest that lines be added to the makefile(s)
to create the _unix.O directory(ies). There were no instructions that
a _unix.O directory would have to be created anywhere, so inexperienced
installers may have a little trouble with it.
3b2 floating point:
A 3b2 has no floating point hardware and must emulate it in software.
Unfortunately, the C compiler doesn't know this, and blindly generates
floating point instructions for the wc32000. This can cause extreme
consternation when the poor user gets "Illegal instruction - core dump"
upon execution of the first floating point instruction. There is a
barely documented option to cc, "-f" that will force the loading of
floating point emulation routines. Note that the "-f" need only appear
in the final load of whatever you are compiling.
execl() bug:
After about 6 hours of testing and recompiling, I found out what broke
execl(). execl() works before sigsave() and not after. Here's the
code to sigsave.c:
----- EMPSUBS/sigsave.c -----
extern int sigaddr[];
sigsave()
{
sigaddr[0] = signal(-1, 1);
sigaddr[1] = signal(2, 1);
sigaddr[2] = signal(3, 1);
}
sigrest()
{
signal(-1, sigaddr[0]);
signal(2, sigaddr[1]);
signal(3, sigaddr[2]);
}
What is signal -1? I can't find it in signal.h, and as documented,
the signal(2) call does nothing special with it. It shouldn't even work,
but it does for BSD. Beats me. My temporary fix was to change the -1
to 1 (SIGHUP), but a REAL fix would use the defines in signal.h.
============
Improvements
============
I'm announcing these because I don't want to duplicate someone's efforts
if I don't have to. Let me know if you are working on any of these...
I'm probably going to hack up empire so that it does NOT use 6 overlapping
modules. I imagine that this was done to make it fit on a small address
space machine. This is really unnecessary for something like a 3b2, or
a Vax that has enough address space to handle it. The scheme uses much
more disk space than is necessary. It also slows it down because a 3b2
has a pretty slow disk (well, ours does). If and when I get this completed
I'll send it to Tom and he can do an official announcement.
I'm also going to write a server to run empire over 3bnet so that everyone
on 3bnet will be playing the same game. The game is much more fun with
lots of players. This will involve modifying part of empire so that it
can be used with a pty.
Happy emping!
Sean
--
-------------------------------------------------------------------------------
Sean Casey UUCP: sean@ukma.UUCP or
915 Patterson Office Tower {cbosgd,anlams,hasmed}!ukma!sean
University of Kentucky ARPA: ukma!sean@ANL-MCS.ARPA
Lexington, Ky. 40506-0027 BITNET: sean@UKMA.BITNET
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads