Mercurial > hg > octave-avbm
changeset 7088:5eb3db6e4042
[project @ 2007-10-31 20:35:10 by jwe]
author | jwe |
---|---|
date | Wed, 31 Oct 2007 20:35:10 +0000 |
parents | b04f0523558d |
children | 9a1867b26653 |
files | ChangeLog README README.Cray README.Cygwin README.Linux README.MachTen README.Windows README.binary-dist README.devel README.ftp README.gnuplot README.kpathsea README.mirrors README.snapshots octMakefile.in |
diffstat | 15 files changed, 92 insertions(+), 440 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-10-31 John W. Eaton <jwe@octave.org> + + * README.binary-dist: Delete. + + * README.MachTen: Delete. + * octMakefile.in (DISTFILES): Remove it from the list. + 2007-10-30 David Bateman <dbateman@free.fr> * examples/addtwomatrices.cc, examples/celldemo.cc,
--- a/README +++ b/README @@ -2,8 +2,6 @@ Copyright (C) 1996, 1997, 1998, 2002, 2007 John W. Eaton -Last updated: Thu, 11 Oct 2007 19:26:42 EDT - Overview -------- @@ -34,23 +32,18 @@ Installation and Bugs --------------------- -Octave requires approximately 125MB of disk storage to unpack and +Octave requires approximately 925MB of disk storage to unpack and compile from source (significantly less if you don't compile with -debugging symbols or create shared libraries). Once installed, Octave -requires approximately 65MB of disk space (again, considerably less if -you don't build shared libraries or the binaries and libraries do not -include debugging symbols). +debugging symbols). Once installed, Octave requires approximately +350MB of disk space (again, considerably less if you don't build +shared libraries or the binaries and libraries do not include +debugging symbols). To compile Octave, you will need a recent version of GNU Make. You -will also need g++ 2.7.2 or later. Version 2.8.0 or egcs 1.0.x should -work. Later versions may work, but C++ is still evolving, so don't be -too surprised if you run into some trouble. - -It is no longer necessary to have libg++, but you do need to have the -GNU implementation of libstdc++. If you are using g++ 2.7.2, -libstdc++ is distributed along with libg++, but for later versions, -libstdc++ is distributed separately. For egcs, libstdc++ is included -with the compiler distribution. +will also need a recent version of g++ or other ANSI C++ compiler. +You will also need a Fortran 77 compiler or f2c. If you use f2c, you +will need a script like fort77 that works like a normal Fortran +compiler by combining f2c with your C compiler in a single script. YOU MUST HAVE GNU MAKE TO COMPILE OCTAVE. Octave's Makefiles use features of GNU Make that are not present in other versions of make. @@ -66,48 +59,25 @@ Documentation ------------- -Octave's manual has been revised for version 2.0, but it is lagging a +Octave's manual has been revised for version 3.0, but it is lagging a bit behind the development of the software. In particular, there is -currently no complete documentation of the C++ class libraries or the -support for dynamic linking and user-defined data types. If you -notice ommissions or inconsistencies, please report them as bugs to -bug@octave.org. Specific suggestions for ways to improve Octave and -its documentation are always welcome. - -Implementation --------------- - -Octave is being developed with the Free Software Foundation's make, -bison (a replacement for YACC), flex (a replacement for lex), gcc/g++, -and libstdc++ on an Intel Pentium II system running Linux/GNU. It -should be possible to install it on any machine that runs GCC/G++. It -may also be possible to install it using other implementations of -these tools, but it will most certainly require much more work. Do -yourself a favor and get the GNU development tools, either via -anonymous ftp from ftp.gnu.org or by writing the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. - -The underlying numerical solvers are currently standard Fortran ones -like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library -of C++ classes (see the files in the libcruft and liboctave -subdirectories). If possible, the Fortran subroutines are compiled -with the system's Fortran compiler, and called directly from the C++ -functions. If that's not possible, they are translated with f2c and -compiled with a C compiler. Better performance is usually achieved if -the intermediate translation to C is avoided. - -The library of C++ classes may also be useful by itself. +currently no complete documentation of the C++ class libraries. If +you notice ommissions or inconsistencies, please report them as bugs +to bug@octave.org. Specific suggestions for ways to improve Octave +and its documentation are always welcome. Reports with patches are +even more welcome. Additional Information ---------------------- Up to date information about Octave is available on the WWW at the -URL http://www.octave.org, including archives of the help-octave, -bug-octave, and octave-sources mailing lists. +URL http://www.octave.org, including archives of the help, bug, and +maintainers mailing lists. --- + John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering + +Last updated: Thu, 11 Oct 2007 19:26:42 EDT
--- a/README.Cray +++ b/README.Cray @@ -147,6 +147,6 @@ John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Chemical & Biological Engineering Department +Department of Chemical & Biological Engineering -Wed Dec 17 15:17:29 2003 +Last updated: Wed Dec 17 15:17:29 2003
--- a/README.Cygwin +++ b/README.Cygwin @@ -1,73 +1,21 @@ -Octave is now part of the normal net distribution of Cygwin, available -from http://www.cygwin.com. To install the Cygwin package of Octave: - - 1. Use your favorite browser to view the page http://www.cygwin.com - - 2. Click on the "Install or update now" link. - - 3. A dialog should appear with the option to run the setup program - from its current location or save it to disk. Either will work, - but I usually choose to save the setup program to disk so that it - is possible to run it later to update the installation without - having to go back to the web page using a browser. - - 4. Run the setup program. - - 5. Choose "Install from Internet". - - 6. Select a root install directory. You may choose any directory, but - it needs to have enough space for Octave and all the related - tools. Sorry, I don't know how much space that is at present. - - 7. Select a local package directory. This is a directory that the - setup program will use to temporarily store package files before - installing them. It should have plenty of space (probably 70MB - or more). You may delete this directory once the installation is - complete. - - 8. Select your Internet Connection. Probably "Direct Connection" is - OK unless you are behind a firewall of some kind that limits your - access to the Internet. +An obsolete version of Octave (2.1.73) is part of the normal net +distribution of Cygwin, available from http://www.cygwin.com. Check +the package list in Cygwin's setup.exe installer if you would like to +try using it. However, 2.1.73 is unsupported and we STRONGLY +recommended that you use a more recent version of Octave. - 9. Choose a download site. One that is "near" you on the net is - probably best. - -10. Select packages. Choose Octave from the Math category and gnuplot - from the graphics category. - -11. Once the download and file installation is done, click Finish. I - usually choose to create an icon on the desktop and put an icon in - the start menu. After you click finish, a series of scripts will - run, displaying some output in a terminal window. It will take a - few minutes. - -12. To run Octave, start Cygwin. This will bring up a terminal - window. In that window type - - startx - - (a running X server is needed for plotting). Running startx will - bring up a new window. In that window, type - - octave - - That should present you with an Octave prompt. Type - - sombrero (41) - - at this prompt and a new window with the sombrero plot should appear. - -13. IMPORTANT: to build .oct files (dynamically loaded functions) for - Octave, you will also need the octave-headers package. Currently, - due to some bugs in the most recent version of the C++ compiler - and libraries for Cygwin, you will also need gcc and g++ 3.3 - rather than 3.4. You can use the setup.exe installer to select - and install the older version. +It should be possible to build Octave on Windows systems with Cygwin, +but at the time of this writing, there are some performance problems +related to the way C++ exception handling is implemented with the +default Cygwin compiler. This is a known problem with a long history. +If you would like to see this problem corrected, please search the +Cygwin mailing lists for threads related to "sjlj exception handling" +(or similar). John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering -Tue Apr 18 15:22:59 2006 +Last updated: Wed, 31 Oct 2007 16:21:43 EDT
--- a/README.Linux +++ b/README.Linux @@ -1,88 +1,12 @@ -NOTE: This file was originally written several years ago, when many -people were complaining that Octave would not work for them on Linux -systems. Generally, the problems were not actually bugs in Octave. -More recently, the compilers are better, most distributions are more -complete, and it seems harder to install incompatible sets of -libraries or header files (but some people still manage to do it). - -Since July 1996, most work on Octave has been done using a Linux -system, and a number of people who regularly test Octave snapshot -releases also primarily use Linux systems. Because of this, I believe -Octave should run reasonably well on most current Linux systems. -However, there have been some problems in the past, usually the result -of improper installation of compilers or libraries. Sometimes the -problems have happened because of a botched upgrade or even a buggy -Linux distribution. - -If you can, you should probably install Octave using one of the Debian -or RPM packages for Octave that are available with the major Linux -distributions. For example, Dirk Eddelbuettel <edd@debian.org> -maintains the Debian Octave package and usually has them ready within -a day or so of new Octave releases. They are available via the WWW at -http://www.debian.org/distrib/packages. - -If for some reason you can't (or choose not to) install Octave from -one of the binary distributions or by using one of the Debian or RPM -packages and something goes wrong, please check the following list to -see if your problem is already well known before reporting a bug. - -Octave compiles, but it won't run ---------------------------------- - -If you can compile Octave, but it crashes with a segmentation fault -right away, you probably have incompatible versions of libc and -libstdc++ installed, or you have a version of the dynamic loader, -ld.so, that is incompatible with your versions of the libraries, or -both. - -Octave won't even compile -------------------------- +There are binary packages for Debian, Fedora, and other GNU/Linux +distributions. -If you can't compile Octave, you should first check to see that your -compiler and header files are properly installed. Do you have -multiple versions of the g++ include files on your system? Are you -sure that your copy of g++ is finding the right set? You can find out -by compiling a simple C++ program with -v: - -bash$ cat foo.cc -#include <iostream.h> -int main (void) { cerr << "yo\n"; return 0; } +Octave should build cleanly from source on most GNU/Linux systems. -bash$ g++ -v foo.cc -gcc -v foo.cc -lstdc++ -lm -Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2/specs -gcc version 2.7.2 - /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -lang-c++ -v -undef ... -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/g++-include - /usr/local/include - /usr/i486-linux/include - /usr/lib/gcc-lib/i486-linux/2.7.2/include - /usr/include -End of search list. -... - -If the location of the correct set of include files is not listed in -the search path, then you might be able to fix that with a symbolic -link. However, if your version of libstdc++ was not compiled with your -current version of gcc, you are likely to run into more trouble. - -I/O in dynamically loaded .oct files doesn't work -------------------------------------------------- - -If Octave prints things like `%.-1e' instead of numbers when you use a -dynamically linked .oct file, you probably need to create shared -versions of the Octave libraries. To do that, configure Octave with ---enable-shared, recompile, and reinstall. - - -If you have comments or suggestions for this document, please contact -bug@octave.org. John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering -Fri Oct 1 13:04:36 2004 +Last updated: Wed, 31 Oct 2007 16:22:26 EDT
deleted file mode 100644 --- a/README.MachTen +++ /dev/null @@ -1,185 +0,0 @@ -The information in this file is from A. Scottedward Hodel -<A.S.Hodel@Eng.Auburn.EDU>. - -* 11/15/2002: Power MachTen is no longer supported by Tenon Intersystems -* since Mac OS X permits running Octave directly on its BSD-based OS. -* See http://fink.sourceforge.net for directions on installation of Octave -* on Macintosh. - -I've installed and run Octave 2.0.12 on Power MachTen 4.1. I've -also installed Octave-2.1.14 on Power MachTen 4.1.1 (the process is slightly -different). This note contains instructions on how to port octave to MachTen -4.1/4.1.1. - -Many thanks to Tenon Intersystems support for their help in porting to -Machten 4.1.1. - -Contents: -(1) Definitions -(2) Future work -(3) Instructions for installation of Octave 2.0.12 on MachTen 4.1. -(4) Instructions for installation of Octave 2.1.14 on MachTen 4.1.1. - -(1) Definitions: -============ -Power MachTen: Unix that runs simultaneously with MacOS on Mac computers. - see http://tenon.com for more information. - -Octave: a Matlab-like programming language that is freely distributable - under the terms of the gnu copyright rules. Octave is NOT - (and will not) be a MATLAB(tm) clone; however, the functionality - of the program is similar. - - see: http://bevo.che.wisc.edu/octave for more information. - a control systems toolbox is available at - ftp://ftp.eng.auburn.edu/pub/hodel/OCST* - -(2) Future work: -============= -Dynamic linking is apparently not yet supported, so .oct files cannot be used -(yet) in Power MachTen. - -(3) To install Octave on MachTen 4.1: -============= -Short instructions: MachTen automatically defines __MACHTEN_PPC__ on -power MachTen. The octave configure script sets most everything up properly. -Here's a few details that also need done: - -(a) Put libncurses into the Tenon Application Library Folder -(b) Replace the MT /usr/bin/sed with gnu sed (I used 2-0.5). -(c) <sys/signal.h>: Is fixed in MachTen 4.1.1 -(d) Set virtual memory to a huge number (I used 200Mb) -(f) make all; it will fail on toplev.cc due to a problem with src/oct-conf.h -(g) Fix src/oct-conf.h and make all again. -(g) make install - -Here are the details for the above items: -(a) Be sure that libncurses is in the Tenon Application Library in - the Extensions folder: - - (i) use resedit. - (ii) Open the libncurses file in folder: - Extensions/Tenon Applications Library/disabled - (iii) Open the cfrag resource. Scroll down a bit and you will find the - string libcurses. Change it to libncurses. Save. - (iv) Change (File Menu/File Information) the file creator to MUMM. Save. - (v) now move libncurses out of the disabled folder to - Extensions/Tenon Applications Library - (vi) Reboot. - -(b) Replace the MT /usr/bin/sed with gnu sed (I used 2-0.5). - This fixes a problem with the kpathsea/klibtool script. - -(c) Login as root and apply the following patch to /usr/include/sys/signal.h: - Otherwise src/sighandlers.cc will not compile properly. (The change - is consistent with <sys/signal.h> headers on our sun network as well.) - -*** signal.h.old Thu May 7 13:16:11 1998 ---- signal.h Thu May 7 13:34:27 1998 -*************** -*** 253,260 **** - /* - * Signal vector "template" used in sigaction call. - */ -! #struct sigaction { - void (*sa_handler)(); /* signal handler */ - sigset_t sa_mask; /* signal mask to apply */ - int sa_flags; /* see signal options below */ - }; ---- 253,264 ---- - /* - * Signal vector "template" used in sigaction call. - */ -! struct sigaction { -! #ifdef __cplusplus -! void (*sa_handler)(int); /* signal handler */ -! #else - void (*sa_handler)(); /* signal handler */ -+ #endif - sigset_t sa_mask; /* signal mask to apply */ - int sa_flags; /* see signal options below */ - }; - - -(d) Set virtual memory to a huge number (I used 120Mb). Otherwise compiles - will fail. - -(e) (cd src ; make oct-conf.h) - -(f) Fix src/oct-conf.h - - You'll need to change the line - - #define DEFS "-DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" - to - #define DEFS "-DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=\":\" - - It should have been done automatically (take a look at UGLY_DEFS in - the toplevel Makeconf), but for some reason it doesn't go. Failure to - edit oct-conf.h results in a compilation error in toplev.cc. - -(g) make all -(h) make install - -And that should do it. - -(4) To install Octave on MachTen 4.1.1: -============= -Short instructions: MachTen automatically defines __MACHTEN_PPC__ on -power MachTen. The octave configure script sets most everything up properly. -Here's a few details that also need done: - -(a) libncurses, sed, and <sys/signal.h>: are fixed in PowerMachTen 4.1.1 (but not in - 4.1) -(b) Power MachTen uses gcc-2.8.1, which requires more memory than the - version used in PowerMachTen 4.1. I set virtual memory to 200 Mb. -(c) From Tenon technical support: (Thanks!) - >I think that we have compiling Octave on MachTen. The problem results - >from the fact that the stack space on the f771 application is not set. - >This results in f771 running out of memory and corrupting the system - >process manager heap. To fix this, try: - > - >setstackspace 0x100000 /usr/lib/gcc-lib/powerpc-apple/machten4/2.8.1/f771 - - For some reason my system didn't follow the soft links to - /usr/macppc/lib/gcc-lib/powerpc-apple-machten4/2.8.1/f771. I was - able to do the command manually with the above path. - -(d) For increased speed in compiling and decreased disk space requirements, - you may also wish to omit the "-g" flag from compiler options: - in the configure script: - - search for machten (line 2651 in 0ctave-2.1.14). - - modify so that this section reads - powerpc-apple-machten*) - FFLAGS= - # remove -g to keep binary size down - CFLAGS=`echo ${CFLAGS} | sed '1,$s/-g//'` - CXXFLAGS=`echo ${CXXFLAGS} | sed '1,$s/-g//'` - LDFLAGS=`echo ${LDFLAGS} | sed '1,$s/-g//'` - ;; - - Also remove -g from: - LDFLAGS in readline/examples/Makefile.in - -(e) Run configure (use the --prefix flag if desired) - -(f) (cd src ; make oct-conf.h) - -(g) Fix src/oct-conf.h - - You'll need to change the line - - #define DEFS "-DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=":" - to - #define DEFS "-DOCTAVE_SOURCE=1 -DSEPCHAR=':' -DSEPCHAR_STR=\":\" - - It should have been done automatically (take a look at UGLY_DEFS in - the toplevel Makeconf), but for some reason it doesn't go. Failure to - edit oct-conf.h results in a compilation error in toplev.cc. - -(h) make all - - Be prepared to wait quite awhile. Most of the time is spent waiting - for individual ar commands to build the libraries. - -(i) make install
--- a/README.Windows +++ b/README.Windows @@ -3,3 +3,11 @@ See the file README.MSVC for instructions for compiling Octave with the MSVC compiler. + + +John W. Eaton +jwe@bevo.che.wisc.edu +University of Wisconsin-Madison +Department of Chemical & Biological Engineering + +Last updated: Wed, 31 Oct 2007 16:34:12 EDT
deleted file mode 100644 --- a/README.binary-dist +++ /dev/null @@ -1,29 +0,0 @@ -Although Octave is not very difficult to build from its sources, it is a -relatively large program that does require a significant amount of time -and disk space to compile and install. Because of this, many people -want to be able to obtain binary distributions so they can start using -Octave immediately, without having to bother with the details of -compiling it first. This is understandable, so I try to maintain a -current collection of binary distributions here. - -Please understand, however, that there is only a limited amount of -time available to devote to making binaries, so binaries may not be -immediately available for some platforms. (Please contact -bug@octave.org if you are interested in helping make binary -distributions available for your system.) - -Also, binary distributions are limited to static binaries that do not -support dynamic linking. For earlier versions of Octave, I tried -distributing dynamically linked binaries but that proved to be too much -trouble to support. If you want to have a copy of Octave that includes -all the features described in the manual, you will have to build it -from the sources yourself, or find someone else who is willing to do it -for you. - - -John W. Eaton -jwe@bevo.che.wisc.edu -University of Wisconsin-Madison -Department of Chemical Engineering - -Fri Oct 1 13:04:16 2004
--- a/README.devel +++ b/README.devel @@ -39,6 +39,6 @@ John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering -Fri Oct 1 13:04:00 2004 +Last updated: Wed, 31 Oct 2007 16:33:55 EDT
--- a/README.ftp +++ b/README.ftp @@ -1,5 +1,3 @@ -This file last updated: Fri Nov 14 21:19:27 2003 - This directory contains the source for Octave, a high-level interactive language for solving numerical problems. See the files README.octave and Announce for more general information, and the file NEWS for a @@ -34,8 +32,10 @@ gzip and want faster data transmission). It works on virtually every unix system, MSDOS, OS/2, and VMS. --- + John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering + +Last updated: Wed, 31 Oct 2007 16:28:00 EDT
--- a/README.gnuplot +++ b/README.gnuplot @@ -1,15 +1,17 @@ -Octave works best with recent beta releases of gnuplot 4.0, which are -available from http://www.gnuplot.info. - -Hint: Under X11, please put +Octave works best with gnuplot 4.2, which is available from +http://www.gnuplot.info. - set mouse +Octave now sends data over the same pipe that is used to send commands +to gnuplot. While this avoids the problem of cluttering /tmp with +data files, it is no longer possible to use the mouse to zoom in on +plots. This is a limitation of gnuplot, which is unable to zoom when +the data it plots is not stored in a file. Some work has been done to +fix this problem in newer versions of gnuplot (> 4.2.2). See for +example, this thread -into your $HOME/.gnuplot file so that you may manipulate the plot -window using the mouse (see the gnuplot FAQ for more details). + http://www.nabble.com/zooming-of-inline-data-tf4357017.html#a12416496 -Note that this is not necessary for the current development version of -gnuplot 4.1. +on the gnuplot development list. John W. Eaton @@ -17,4 +19,4 @@ University of Wisconsin-Madison Department of Chemical Engineering -Mon Oct 10 15:25:03 2005 +Last updated: Wed, 31 Oct 2007 16:28:39 EDT
--- a/README.kpathsea +++ b/README.kpathsea @@ -163,3 +163,11 @@ Only filenames that are absolute are recorded, to preserve some semblance of privacy. + + +John W. Eaton +jwe@bevo.che.wisc.edu +University of Wisconsin-Madison +Department of Chemical & Biological Engineering + +Last updated: Wed, 31 Oct 2007 16:33:13 EDT
--- a/README.mirrors +++ b/README.mirrors @@ -24,5 +24,4 @@ University of Wisconsin-Madison Department of Chemical & Biological Engineering -Mon Feb 20 11:51:09 2006 - +Wed, 31 Oct 2007 16:32:44 EDT
--- a/README.snapshots +++ b/README.snapshots @@ -1,10 +1,5 @@ Octave Snapshots -- general info -Last updated: Mon May 23 18:58:05 1994 - -This file was adapted from a similar document written by Fred Fish and -used by the GDB developers. - Snapshots are an "image" of the main Octave development tree, captured at a particular random instant in time. When you use the snapshots, you should be able to maintain a local copy of Octave that is @@ -159,4 +154,10 @@ John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison -Department of Chemical Engineering +Department of Chemical & Biological Engineering + +Wed, 31 Oct 2007 16:31:54 EDT + +This file was adapted from a similar document written by Fred Fish and +used by the GDB developers. +
--- a/octMakefile.in +++ b/octMakefile.in @@ -44,8 +44,7 @@ DISTFILES = $(CONF_DISTFILES) \ COPYING INSTALL NEWS \ NEWS.[0-9] PROJECTS README README.Linux README.Windows \ - README.Cygwin README.MSVC \ - README.MachTen README.kpathsea ROADMAP SENDING-PATCHES \ + README.Cygwin README.MSVC README.kpathsea ROADMAP SENDING-PATCHES \ THANKS move-if-change octave-sh octave-bug.in \ octave-config.in mk-opts.pl mkinstalldirs \ mkoctfile.in run-octave.in ChangeLog ChangeLog.[0-9]