Article View: comp.soft-sys.khoros
Article #1016(none)
From: Scott Wilson
Date: Mon, 04 Jan 1993 20:12
Date: Mon, 04 Jan 1993 20:12
196 lines
7942 bytes
7942 bytes
From !MAILER-DAEMON Mon Jan 4 09:41:11 1993
Received: by kootenai (5.65/1.35)
id AA01022; Mon, 4 Jan 93 12:30:23 -0700
Message-Id: <9301041930.AA01022@kootenai>
Date: Mon, 4 Jan 93 09:41:11 -0700
From: !MAILER-DAEMON (Mail Delivery Subsystem)
Subject: Returned mail: Host unknown
To: swilson@kootenai
Status: R
----- Transcript of session follows -----
550 !olympus.engr.utk.edu.tcp... 550 Host unknown
550 mishi@!olympus.engr.utk.edu... Host unknown
----- Unsent message follows -----
Received: by chtm.eece.unm.edu (5.57/Ultrix3.0-C)
id AA07315; Mon, 4 Jan 93 09:41:11 -0700
Received: by kootenai (5.65/1.35)
id AA00874; Mon, 4 Jan 93 09:44:25 -0700
Date: Mon, 4 Jan 93 09:44:25 -0700
From: kootenai!swilson (Scott Wilson)
Message-Id: <9301041644.AA00874@kootenai>
To: mishi@!olympus.engr.utk.edu, swilson@chtm.eece.unm.edu
Subject: Re: 486 ISC binaries
Ahhhh. I know what your problem(s) are!
1. The UNIX library call "getwd" does not exist on ISC UNIX!!! This
is a poor implementation on the part of ISC. What you need to do is the
following:
Add definition #define getwd getcwd in src/xvroutines/Lib/xvutils/utils.c
Add definition #define getwd getcwd in src/xvroutines/writer/lwriter.c
2. For the three undefined math routines - these do not exist in ISC either!
They appear to exist only on ULTIRX. They do not show up in SunOS 4.0.
What you need to do here is either make your own versions of these
routines, or else:
Add !defined(i386) to the lists of machines in xvparser.h
that don't have rint, expm1, or log1p (note: TWO lists!).
That should fix you up. BUT - you aren't done yet! YOU have lots more
work to do. The following is what I had to do to get khoros to work
right on ISC UNIX 3.0 with gcc 2.2.2 and the standard ISC X stuff.
You will also find a problem in the scheduler in cantata that will
cause each glyph to require exactly 10 seconds to run. I fixed this problem
after I built the ISC/486 distribution on pprg - It's not documented yet.
I'll send it along if you need it.
Scott
==============================================================================
1. Had to remove extra close comment from i386.cf file.
2. Had to remove -fw from gcc compile arguments in i386.cf
3. Remove -fpu lib from lib list in i386.cf
4. Had to force __TIMEVAL__ to be defined in /usr/include/X11/Xos.h to prevent
redeclaration.
5. Had to put all of /usr/include/sys/file.h inside #ifndef __FILEHD__
(my own symbol) to prevent multiple include.
6. Added nsl_s to ExtraLibs in i386.cf
7. Added !defined(i386) to the lists of machines in xvparser.h
that don't have rint, expm1, or log1p (note: TWO lists!).
8. Add definition #define getwd getcwd in src/xvroutines/Lib/xvutils/utils.c
9. Add definition #define getwd getcwd in src/xvroutines/writer/lwriter.c
10. Move EXTRA_LIBRARIES to end of LDLIBS list in
src/xvroutines/kraftsman/Imakefile
because they are in the wrong order and it ends up with bogus
undefined symbols.
11. Add definition #define getwd getcwd in src/Lib/vgparm/expandpath.c
12. In repos/fonts, Delete the bogus symbolic links, then rename the
font files so they can be found:
ComplexRoman.v to ComplexR.vec
DoubleRoman.ve DoubleR.vec
SimplexRoman.v SimplexR.vec
TimesRoman.vec TimesR.vec
TimesItalics.v TimesI.vec
and copy these files to the names:
ComplexR.vec to ComplexR
DoubleR.vec DoubleR
SimplexR.vec SimplexR
TimesR.vec TimesR
TimesI.vec TimesI
Symbols.vec Symbols
Note: ComplexItalics.vec is gone! It got written over by the
symlink ComplexItalics which ends up being empty!
and finally, copy
DoubleR to DoubleRoman
since this is hardwired as the default font filename in xprism, etc.
13. Install f2c. Install the "fc" script that comes with f2c as "f77" in
/usr/local/bin. Then just turn on Has Fortran and maks sure I77 and
F77 are in the load list. It all works!
14. Put the following fortran code in a file called cdabs.f in
src/public_domain/linpack:
function cdabs(x)
double precision cdabs
complex*16 x
c
c Compute the double precision magnitude of a double precision complex
c number. This function is here 'cause f2c doesn't have a cdabs().
c
c Scott Wilson 17 Aug 1992
c
complex*16 prod
double precision ans
prod = x*dconjg(x)
ans = sqrt(prod)
cdabs = ans
return
end
and then do
make Imakefile; makemake
in the linpack directory. This is necessary because f2c doesn't supply a
cdabs() function in its library or standard functions. Several of the
routines in num_analysis use cdabs() so I had to make a homebrew version.
15. Put the following code in src/Lib/vgparm/gethostname.c:
/*
gethostname.c
This routine is a kluge to get around the fact that the real
gethostname() is missing from ISC UNIX 3.2.2. It is fortunate that
"localhost" will work for any machine. It may not be too convenient,
but it should work in all cases.
Scott Wilson 17 Aug 1992
*/
#include <stdio.h>
int
gethostname(string,len)
char *string;
int len;
{
if (string == NULL)
{
return(-1);
}
else if (len < 10)
{
return(-1);
}
else
{
strcpy(string,"localhost");
return(0);
}
}
then edit the Imakefile BY HAND (it can't be auto updated) and add
gethostname.c and gethostname.o in the proper places, and then do:
makemake ; make install
in src/Lib/vgparm. This is all 'cause ISC UNIX 3.2.2 doesn't have a
gethostname() function!
16. groff-1.05.90 or groff-1.06 seem to work well with Khoros, at least
at first inspection. Note that 1.05-90 is a Beta test for 1.06 and was
released on 16 May 1992 from ftp.uu.net:/tmp/groff-1.05.90.tar.Z by
James Clark jjc@jclark.com. It will by default install a macro
package in /usr/local/lib/groff/tmac called tmac.gs which needs to
be copied as tmac.s in order for the normal "-ms" macro specification
to by found. Also, there is no S font in the ascii font tables in the
distribution. Unfortunately, it is needed by some of the man pages. A
hack fix is to copy the R font to the S font and edit the new S font, fisrt
line, to claim it is S instead or R. This will at least shut up the errors.
17. IN src/xvroutines/warpimage, the file "run_warpimage.c" is
truncated to "run_warpimage." which causes the installation to
fail. Rename run_warpimage. as runwarpimage.c, do imkmf, makemake,
make depend, and make install. Be more careful!
18. PLEASE! Use the "o" option to tar when the tarfiles are created! This
prevents lots of hassles when they are untarred. The o option used during
extract SHOULD handle the problem, but often this is partially broken
(I have seen two machines that are this way!).
19. On ISC, all instances of "cp -i" must be removed since there is no
"-i" option. So far I have only found "cp -i" in src/tools/scripts/kdinstall_csh
and src/tools/scripts/kinstall_csh.
20. In src/tools/scripts/kinstall_csh, the line that mails the
results of the kinstall to the user reads:
mail -s "kinstall $PROGRAM" $KHOROS_MAIL < /tmp/kinstall.$$
whereas on ISC it must read:
mail $KHOROS_MAIL < /tmp/kinstall.$$
because the mail command on ISC Unix has no "-s" option. Instead, it
ignored the "-s" and tries to send mail to "kinstall" and "$PROGRAM" as
well as to the user! Not harmful, but annoying.
NOTE: JUST USE "mailx" instead of mail and even the -s is OK!
Technical Details
Message-ID:
<42395@pprg.eece.unm.edu.pprg.unm.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!moe.ksu.ksu.edu!mimbres.cs.unm.edu!pprg.unm.edu!daemonShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!moe.ksu.ksu.edu!mimbres.cs.unm.edu!pprg.unm.edu!daemon From: kootenai!swilson@chtm.eece.unm.edu (Scott Wilson) Newsgroups: comp.soft-sys.khoros Subject: (none) Message-ID: <42395@pprg.eece.unm.edu.pprg.unm.edu> Date: 4 Jan 93 20:12:45 GMT Sender: daemon@pprg.unm.edu Lines: 197