This is the README for octave.2.0.11.1.N.b.tar.gz [Download] [Browse] [Up]
octave.2.0.11.README Mar 11, 1998 OVERVIEW Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments. It may also be used as a batch-oriented language. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. CONTENTS file: octave.2.0.11.1.m.I.b.tar.gz desc: octave v 2.0.11 (port 1) for i386 Openstep for Mach. size: 2176kb md5sum: dba26e6ac5b529d823443cf2c4776a7d file: octave.2.0.11.1.I.b.tar.gz desc: octave v2.0.11 (port 1) for i386 NEXTSTEP 3.x (OS 4.x also) size: 2064kb md5sum: 28787250580f91dd47163edeb5e64851 file: octave.2.0.11.1.N.b.tar.gz desc: octave v2.0.11 (port 1) for m68k NEXTSTEP 3.x (OS 4.x also) size: 1976kb md5sum: e227e0975afef763fc8ee2f75f051247 Uploaded to http://www.peak.org/next/submissions to move to http://www.peak.org/next/apps/educational/ AND Uploaded to http://www.www.org/openstep/submissions/ to move to http://www.peak.org/openstep/mach/apps/educational (??) INSTALLATION Download the appropriate archive for your architecture. Note that the NEXTSTEP versions will also run on OpenStep for Mach 4.x systems. The OpenStep specific port was built with dynamic library support (just to see if it would work). As root, issue the following Terminal.app commands: 1. Unpack the archive: > gnutar xzvf octave.2.0.11.1.*.b.tar.gz 2. Change directory into newly created folder: > cd octave-2.0.11-*-next-* 3. Run the provided installation script. Here you can specify the root directory of where you want octave installed (/usr/local is the default): > ./install-octave /usr/local You may also want to install GNU_Term, a NEXTSTEP GUI front end for gnuplot: It can currently be find at: http://www.peak.org/next/apps/graphics/plotting/ GnuTerm_1.1a.NIHS.bs.tar.gz COMPILING FROM SOURCE Here are some things you need to do to get octave to compile for nextstep3/openstep4. 1. If using g77 (ie, g77-0.5.21 and gcc-2.7.2.3.f.1), need to configure with: configure --with-g77 (so... whenever I say run configure, you need to include --with-g77. This didn't seem to work completely, I had to manually specify that g77 was compatible with f2c in config.cache, then re-run configure. fix configure - modify config.cache so termios.h,unistd.h,utsname.h are no (they are posix only headers, and shouldn't be included here).\ and specify f2c_f77_compat to be yes (see 1 above) - re-run configure 2. fix signal.h (if needed) /usr/local/lib/gcc-lib/i386-next-nextstep4/2.7.2.3.f.1/include/bsd/sys/ so that it reads: NOTE: the old defs of the signals are not liked by g++: -------- #ifdef __STRICT_BSD__ #define BADSIG (int (*)(int))-1 #define SIG_DFL (int (*)(int))0 #define SIG_IGN (int (*)(int))1 #ifdef KERNEL #define SIG_CATCH (int (*)(int))2 #define SIG_HOLD (int (*)(int))3 #endif #else /* __STRICT_BSD__ */ #ifdef _NEXT_SOURCE #define BADSIG (void (*)(int))-1 #endif /* _NEXT_SOURCE */ #if defined(_NEXT_SOURCE) || defined(_POSIX_SOURCE) #define SIG_DFL (void (*)(int))0 #define SIG_IGN (void (*)(int))1 ... 3. GNU make (mine) failed to use ddot.f object file in libcruft.a, which caused link errors. Manually adding blas/ddot.o to libcruft solved the problem. /bin/gnumake worked like a charm (openstep only). 4. Type mis-matches cause linking errors a. mode_t config.h: #define mode_t int liboctave/statdefs.h #define mode_t unsigned short I changed the config.h reference since NeXT wants mode_t to be u_short apparently (reference was a man page for stat). b. undefined symbol: _isatty_F: (only for m68k cross compile?) patch src/lex.cc --- lex.cc_orig Wed Mar 11 15:15:50 1998 +++ lex.cc Wed Mar 11 13:33:28 1998 @@ -2122,7 +2122,9 @@ #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE +extern "C" { extern int isatty YY_PROTO(( int )); +} #endif #endif 5. program_invocation_name linking errors a. Make sure kpathsea/c-auto.h has the following: /* Define if you are using GNU libc or otherwise have global variables `program_invocation_name' and `program_invocation_short_name'. */ #undef HAVE_PROGRAM_INVOCATION_NAME b. add -fno-common to CFLAGS in kpathsea/Makefile c. Rebuild (gnumake clean; gnumake) the kpathsea subdirectory. And the file kpathsea/progname.c should then define the relevent global variables. 6. dynamic linking vs static linking (openstep4 only) The building of c++ dynamic libraries is VERY shaky. C and Fortran dynamic libraries are ok, for the most part. In my initial testing, the statically linked octave binary was 2.8MB while the dynamically linked octave binary (using dynamic library libcruft.dylib) was 2MB in size. HISTORY This is my own internal history of progress. ?? include i386-apple-rhapsody5 port. include ppc-apple-rhapsody5 port. Mar 11, 1998 (release 3) update to octave-2.0.11 No more installer package, use traditional octave install. include m68k-next-nextstep3 port. include i386-next-nextstep3 port. include i386-next-openstep4 port. Mar 19, 1997 Update to octave-2.0.5. Use standard octave directory scheme. Jan 21, 1997 (release 3) Update to octave-2.0.1 fix gnuplot/ls problem. Jan 2, 1997 (release 2) Added documentation, FAT libraries Install as Installer.app package First public release, uploaded to ftp.next.peak.org, Jan 2, 1997 Doesn't work with gnuplot (????) Dec 20, 1996 (release 1) Added m68k binary. Dec 18, 1996 (beta 2) Fixed help system bug (couldn't find info binary) CREDITS/REFERENCES Rex Dieter <rdieter@math.unl.edu> Computer System Manager Department of Mathematics and Statistics University of Nebraska-Lincoln http://www.math.unl.edu/~rdieter/ Octave source and other binaries: http://www.che.wisc.edu/octave ftp://ftp.che.wisc.edu/pub/octave GNUTerm http://www.peak.org/next/apps/graphics/plotting/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.