home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / Educational / octave-2.0.11.1-I.README next >
Encoding:
Text File  |  1998-04-20  |  6.2 KB  |  219 lines

  1. octave.2.0.11.m.README
  2. Mar 11, 1998
  3.  
  4.  
  5. OVERVIEW
  6.  
  7. Octave is a high-level language, primarily intended for numerical
  8. computations. It provides a convenient command line interface for solving
  9. linear and nonlinear problems numerically, and for performing other
  10. numerical experiments. It may also be used as a batch-oriented language.
  11.  
  12. Octave is free software; you can redistribute it and/or modify it
  13. under the terms of the GNU General Public License as published by the
  14. Free Software Foundation; either version 2, or (at your option) any
  15. later version.
  16.  
  17.  
  18. CONTENTS
  19.  
  20. file:    octave.2.0.11.1.m.I.b.tar.gz
  21. desc:    octave v 2.0.11 (port 1) for i386 Openstep for Mach.
  22. size:    2176kb
  23. md5sum:    dba26e6ac5b529d823443cf2c4776a7d
  24.  
  25. file:    octave.2.0.11.1.I.b.tar.gz
  26. desc:    octave v2.0.11 (port 1) for i386 NEXTSTEP 3.x (OS 4.x also)
  27. size:    2064kb
  28. md5sum:    28787250580f91dd47163edeb5e64851
  29.  
  30. file:    octave.2.0.11.1.N.b.tar.gz
  31. desc:    octave v2.0.11 (port 1) for m68k NEXTSTEP 3.x (OS 4.x also)
  32. size:    1976kb
  33. md5sum:    e227e0975afef763fc8ee2f75f051247
  34.  
  35. Uploaded to
  36. http://www.www.org/openstep/submissions/
  37. to move to
  38. http://www.peak.org/openstep/mach/apps/educational (??)
  39.  
  40. AND
  41.  
  42. Uploaded to
  43. http://www.peak.org/next/submissions
  44. to move to
  45. http://www.peak.org/next/apps/educational/
  46.  
  47.  
  48. INSTALLATION
  49.  
  50. Download the appropriate archive for your architecture.  Note that
  51. the NEXTSTEP versions will also run on OpenStep for Mach 4.x systems.
  52. The OpenStep specific port was built with dynamic library support (just
  53. to see if it would work).
  54.  
  55. As root, issue the following Terminal.app commands:
  56.  
  57. 1.  Unpack the archive:
  58. >  gnutar xzvf octave.2.0.11.1.*.b.tar.gz
  59. 2.  Change directory into newly created folder:
  60. >  cd octave-2.0.11-*-next-*
  61. 3.  Run the provided installation script.  Here you can specify 
  62. the root directory of where you want octave installed (/usr/local
  63. is the default):
  64. >  ./install-octave /usr/local  
  65.  
  66. You may also want to install GNU_Term, a NEXTSTEP GUI front end for 
  67. gnuplot:
  68. It can currently be find at: 
  69. http://www.peak.org/next/apps/graphics/plotting/
  70. GnuTerm_1.1a.NIHS.bs.tar.gz
  71.  
  72.  
  73. COMPILING FROM SOURCE
  74.  
  75. Here are some things you need to do to get octave to compile for 
  76. nextstep3/openstep4.
  77.  
  78.  
  79. 1.  If using g77 (ie, g77-0.5.21 and gcc-2.7.2.3.f.1), need to configure with:
  80.     configure --with-g77 (so... whenever I say run configure, you need
  81.     to include --with-g77.
  82.  
  83. This didn't seem to work completely, I had to manually specify that g77 
  84. was compatible with f2c in config.cache, then re-run configure.
  85.  
  86. fix configure
  87.     - modify config.cache so termios.h,unistd.h,utsname.h are no
  88.           (they are posix only headers, and shouldn't be included here).\
  89.       and specify f2c_f77_compat to be yes (see 1 above)
  90.     - re-run configure
  91.  
  92. 2.  fix signal.h (if needed)
  93.                        
  94. /usr/local/lib/gcc-lib/i386-next-nextstep4/2.7.2.3.f.1/include/bsd/sys/
  95. so that it reads:
  96.  
  97. NOTE: the old defs of the signals are not liked by g++:
  98.  
  99. --------
  100. #ifdef __STRICT_BSD__
  101.         #define BADSIG          (int (*)(int))-1
  102.         #define SIG_DFL         (int (*)(int))0
  103.         #define SIG_IGN         (int (*)(int))1
  104.  
  105.         #ifdef KERNEL
  106.                 #define SIG_CATCH       (int (*)(int))2
  107.                 #define SIG_HOLD        (int (*)(int))3
  108.         #endif
  109.  
  110. #else /* __STRICT_BSD__ */
  111.  
  112.         #ifdef _NEXT_SOURCE
  113.                 #define BADSIG          (void (*)(int))-1
  114.         #endif /* _NEXT_SOURCE */
  115.  
  116.         #if defined(_NEXT_SOURCE) || defined(_POSIX_SOURCE)
  117.                 #define SIG_DFL         (void (*)(int))0
  118.                 #define SIG_IGN         (void (*)(int))1
  119. ...
  120.  
  121. 3.  GNU make (mine) failed to use ddot.f object file in libcruft.a, which 
  122. caused link errors.  Manually adding blas/ddot.o to libcruft solved
  123. the problem.  /bin/gnumake worked like a charm (openstep only).
  124.  
  125. 4.  Type mis-matches cause linking errors
  126.  
  127. a. mode_t 
  128. config.h:        #define    mode_t int
  129. liboctave/statdefs.h    #define mode_t unsigned short
  130.  
  131. I changed the config.h reference since NeXT wants mode_t to 
  132. be u_short apparently (reference was a man page for stat).
  133.  
  134. b.  undefined symbol: _isatty_F: (only for m68k cross compile?)
  135.  
  136. patch src/lex.cc
  137.  
  138. --- lex.cc_orig Wed Mar 11 15:15:50 1998
  139. +++ lex.cc      Wed Mar 11 13:33:28 1998
  140. @@ -2122,7 +2122,9 @@
  141.  
  142.  #ifndef YY_ALWAYS_INTERACTIVE
  143.  #ifndef YY_NEVER_INTERACTIVE
  144. +extern "C" {
  145.  extern int isatty YY_PROTO(( int ));
  146. +}
  147.  #endif
  148.  #endif
  149.  
  150.  
  151. 5.  program_invocation_name linking errors
  152.  
  153. a. Make sure kpathsea/c-auto.h has the following:
  154.  
  155.    /* Define if you are using GNU libc or otherwise have global variables
  156.    `program_invocation_name' and `program_invocation_short_name'.  */
  157.    #undef HAVE_PROGRAM_INVOCATION_NAME
  158.  
  159. b. add -fno-common to CFLAGS in kpathsea/Makefile
  160.  
  161. c. Rebuild (gnumake clean; gnumake) the kpathsea subdirectory.
  162.    And the file kpathsea/progname.c should then define the relevent 
  163.    global variables.
  164.  
  165. 6.  dynamic linking vs static linking (openstep4 only)
  166.  
  167. The building of c++ dynamic libraries is VERY shaky.
  168. C and Fortran dynamic libraries are ok, for the most part.
  169. In my initial testing, the statically linked octave binary
  170. was 2.8MB while the dynamically linked octave binary (using dynamic
  171. library libcruft.dylib) was 2MB in size.
  172.  
  173.  
  174. HISTORY
  175.  
  176. This is my own internal history of progress. 
  177.  
  178. ??
  179.     include i386-apple-rhapsody5 port.
  180.     include  ppc-apple-rhapsody5 port.
  181. Mar 11, 1998 (release 3)
  182.     update to octave-2.0.11
  183.     No more installer package, use traditional octave install.
  184.     include m68k-next-nextstep3 port.
  185.     include i386-next-nextstep3 port.
  186.     include i386-next-openstep4 port.
  187. Mar 19, 1997
  188.     Update to octave-2.0.5.
  189.     Use standard octave directory scheme.
  190. Jan 21, 1997 (release 3)
  191.     Update to octave-2.0.1
  192.     fix gnuplot/ls problem.
  193. Jan 2, 1997 (release 2)
  194.     Added documentation, FAT libraries
  195.     Install as Installer.app package
  196.     First public release, uploaded to ftp.next.peak.org, Jan 2, 1997
  197.     Doesn't work with gnuplot (????)
  198. Dec 20, 1996 (release 1)
  199.     Added m68k binary.
  200. Dec 18, 1996 (beta 2)
  201.     Fixed help system bug    (couldn't find info binary)
  202.  
  203.  
  204. CREDITS/REFERENCES
  205.  
  206. Rex Dieter <rdieter@math.unl.edu>
  207. Computer System Manager
  208. Department of Mathematics and Statistics
  209. University of Nebraska-Lincoln
  210. http://www.math.unl.edu/~rdieter/
  211.  
  212. Octave source and other binaries:
  213.   http://www.che.wisc.edu/octave
  214.   ftp://ftp.che.wisc.edu/pub/octave
  215.  
  216. GNUTerm
  217. http://www.peak.org/next/apps/graphics/plotting/
  218.  
  219.