From: engel@sj.ate.slb.com  (Mike Engelhardt)
Subject: SPICE3e2 for Linux
Originator: mdw@theory.TC.Cornell.EDU
Keywords: spice3e2 circuit simulation
Organization: Cornell Theory Center
Date: Tue, 26 Jan 1993 20:31:20 GMT

Dear Linux Community,

I ported Berkeley's Spice3e2 to Linux and uploaded the patch kit as
sunsite.unc.edu(152.2.22.81):/pub/Linux/Incoming/spice.kit.T.Z today.

I uploaded it because, after posting to comp.os.linux that I got it
to port, I received 18 e-mail communications requesting that this work
be ftp'able.

These people tested out the patch kit.  Thank-you.

Spice is a simulator for analog electronic circuits.  The file
NoteII.Linux, which is contained in spice.kit.T.Z, is appended to this
post to give an idea of what is required to build it.

Mike Engelhardt -- engel@sj.ate.slb.com

------------------- included file: NoteII.Linux ----------------------

Here's the patch kit to get the distribution files of U.C. Berkeley's
Spice3e2 to compile and run under Linux.  It takes about 13 megabytes
of disk space to build and install.  People with 4 and 6 megabytes of
RAM had trouble.  I've noticed with ps that it does take at least 5 MB
of memory.

It is configured to run under X-windows.  Here's how to use it to build
Spice on Linux:

   1. Ftp the file spice3e2.tar.Z from your favorite server.  For your
      convenience, I include this output from an archie search done at
      at the University of Nebraska - Lincoln:

         Host sabrina.dei.unipd.it   (147.162.2.106)
         Location: /pub/unix/sci/spice
         FILE      r--r--r--   1976295  Oct 13 14:34   spice3e2.tar.Z

         Host osi.iunet.it   (192.106.1.6)
         Location: /disk0/unix/programming/languages/spice
         FILE      rw-rw-r--   1976295  Apr 10  1992   spice3e2.tar.Z

         Host relay.iunet.it   (130.251.1.17)
         Location: /disk0/unix/programming/languages/spice
         FILE      rwxrwxr-x   1976295  Apr 10 08:57   spice3e2.tar.Z

         Host harpo.seas.ucla.edu   (128.97.2.211)
         Location: /pub/spice3e2/src
         FILE      rw-r--r--   5117111  Oct  6 17:01   spice3e2.tar.Z
         (This one has binaries for a non-Linus system, as I recall)

      The copy of spice3e2.tar.Z that I used was 1976295 bytes long
      and sum reported "06262  1930".

      Note that general information about spice can be obtained from
      ic.berkeley.edu (128.32.132.1).

   2. uncompress and tar this spice3e2.tar.Z.  It will create the
      directory ./spice3e2 and put everything there.

   3. When you untarred spice.kit.T.Z, you should have gotten this
      file you're reading and the file 3e2kit.tar.  Put 3e2kit.tar
      in the same directory where you untarred spice3e2.tar; i.e., one
      above spice3e2; and untar it.  That will give you the files
      ./spice3e2/conf/linux, ./spice3e2/src/include/os_linux.h, and
      ./spice3e2.diff.  The first two new files configure Spice for
      Linux and the last is a context diff of the spice distribution
      files.  Apply the patch from this directory one above spice3e2
      with the command "patch < spice3e2.diff".  If you wish, you
      may remove the original files with the command "find -name \*~
      -exec rm -f {} \;" for disk space.  Also, you can delete all
      the *.bat, *.lnk, *.lib files and the directory
      ./spice3e2/src/lib/mfbpc.  They are meant for DOS.

   4. Spice is compiled with hard paths which you must specify.  In
      the file ./spice3e2/conf/defaults change "SPICE_DIR = 
      /home/spice/spice3e2" to the appropriate value.  You may wish to
      read the whole ./spice3e2/conf/defaults file and correct any paths
      that are different on your system than mine.  Note that values for
      ar, ranlib, etc., should not be changed or you may have trouble
      linking, even though everything looks like it compiled and
      archived to libraries okay.

   5. There is a hard path specified in ./spice3e2/util/lib/make_def.bd.
      You don't have to change that.

   6. In ./spice3e2/util/build, change "TMP_DIR=/home/spice/spice3e2/tmp"
      to the place you want to store various tmp files for the build.
      It will end up containing, among other things, a bunch of empty
      files matching the pattern ".syn*" used as flags to the build
      scheme.  The directory you to which you set TMP_DIR *must* exist
      before starting a build.

   7. make is defined by the line "MAKE = /usr/bin/make" in
      ./spice3e2/util/lib/make_def.bd.  Depending on where make is on
      your system, you may want to change it, add a link, or add the
      line "MAKE = /bin/make" to ./spice3e2/conf/linux.

   8. In the spice3e2 directory, type

              util/build linux 2>&1 | tee make.log

      The output on the screen should look like this:

         Begin "make" for linux on Sat Jan 16 01:23:49  1993:
         UPDATING ./tmp/spice
         UPDATING ./tmp/spice-cc
         UPDATING ./tmp/spice-cx
         UPDATING ./tmp/spice-ld
         Making "all" in spice3e2/src/
         Making "all" in spice3e2/src/lib/
         Making "all" in spice3e2/src/lib/dev/
         Making "all" in spice3e2/src/lib/dev/disto/
         gcc -O  -I./../../../../src/include -c atander.c
         gcc -O  -I./../../../../src/include -c cosderiv.c
         gcc -O  -I./../../../../src/include -c cubeder.c
         .
         .
         .

      The build takes a bit over an hour on my 25Mhz i486 with 16MB RAM
      under X.  This patch kit was developed on the SLS distribution of X,
      September 1992 vintage, i.e., Linux .98pl3+, gcc2.2.2d7, and Xfree1.0.
      Others have built it with no problems with much later releases, i.e.,
      .99 and Xfree1.1.

      NOTE:  If, in order to save disk space, you defined the CLEANASYOUGO
      flag of ./spice3e2/conf/defaults as true, you should do step 11 now
      *instead* of this above command.  I do not recommend using setting
      this flag true unless you're sure you have all the paths correct.
      The flag does not allow incremental builds.

   9. If all went well, you have a working but uninstalled copy of spice3.
      (You can run it now but it won't, e.g., find the help files.)

  10. Type "unset noclobber", if you have it set.

  11. In the spice3e2 directory, type

              util/build linux install 2>&1 | tee install.log

      Note: You you may have trouble with this if the directories in which
            that you want to install Spice do not exist.

  12. Now you're in business.  Indexes for the help files were generated
      and all files are now where Spice and nutmeg can find them.

  13. Try it out!  Goto the examples directory and type "/<path>/spice3
      diffpair.cir"  Then at Spice's prompt type "run" and then "plot v(1)".
      An X-window should come up and display the waveform.  You can zoom in
      on this waveform in a manner similar to xgraph.

  14. Don't forget to install the manpages which you can find in
      ./spice3e2/man/man1.

I know that this kit works with the above instructions on my system because
I tried it after preparing the kit.  If it doesn't build, please look first
if your X-windows is installed differently than on mine.  I am interested
in hearing of your success or failure in using this kit of patches, though
it comes no warranty.  Comments, bug reports, etc. to engel@sj.ate.slb.com

 --Mike Engelhardt 1/16/92

NOTICE:  Spice3e2 is Copyrighted Regents of the University of California.
         This is only a set of modifications to that work.  However, these
         patches are Copyrighted (C) 1992, 1993 Michael Engelhardt.  This
         is free but not public domain software.  It is fully encumbered
         with the terms of the GNU GENERAL PUBLIC LICENSE Version 2, June
         1991 which is Copyright (C) 1989, 1991 Free Software Foundation, Inc,
         Cambridge, MA.

-- 
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
Newsgroups: comp.os.linux.announce