Here is the procedure for installing Octave from scratch on a Unix system. For instructions on how to install the binary distributions of Octave, see section Binary Distributions.
--prefix=prefix
--srcdir=dir
--with-f2c
--enable-dld
--enable-lite-kernel
--help
make CFLAGS=-O CXXFLAGS=-O LDFLAGS=instead of just `make'.
This section contains a list of problems (and some apparent problems that don't really mean anything is wrong) that may show up during installation of Octave.
make NO_IMPLICIT_TEMPLATES=
signal()
and the SIG_IGN
macro in the
file `signal.h'.
On some systems the SIG_IGN
macro is defined to be something like
this:
#define SIG_IGN (void (*)())1when it should really be something like:
#define SIG_IGN (void (*)(int))1to match the prototype declaration for
signal()
.
The gcc fixincludes/fixproto script should probably fix this when gcc
installs its modified set of header files, but I don't think that's
been done yet.
Octave may soon support FSQP, an NLP solver from Andre Tits (andre@src.umd.edu) of the University of Maryland. FSQP is available free of charge to academic sites, but can not be redistributed to third parties.Stanford University
Office of Technology Licensing
857 Serra Street
Stanford CA 94305-6225
Tel: (415) 723-0651
Fax: (415) 725-7295
zgemm.f: zgemm: warning: unexpected parent of complex expression subtree zgemm.f, line 245: warning: unexpected parent of complex expression subtree warning: unexpected parent of complex expression subtree zgemm.f, line 304: warning: unexpected parent of complex expression subtree warning: unexpected parent of complex expression subtree zgemm.f, line 327: warning: unexpected parent of complex expression subtree pcc_binval: missing IR_CONV in complex op make[2]: *** [zgemm.o] Error 1when compiling the Fortran subroutines in the `libcruft' subdirectory, you should either upgrade your compiler or try compiling with optimization turned off.
/usr/tmp/cc007458.s:unknown:Undefined local symbol LBB7656 /usr/tmp/cc007458.s:unknown:Undefined local symbol LBE7656when compiling `Array.cc' and `Matrix.cc', try recompiling these files without
-g
.
G_HAVE_SYS_WAIT
defined to be 0 instead of 1 when compiling
libg++.
_tcgetattr _tcsetattr _tcflowwhich are part of `libposix.a'. Unfortunately, linking Octave with
-posix
results in the following undefined symbols.
.destructors_used .constructors_used _objc_msgSend _NXGetDefaultValue _NXRegisterDefaults .objc_class_name_NXStringTable .objc_class_name_NXBundleOne kludge around this problem is to extract `termios.o' from `libposix.a', put it in Octave's `src' directory, and add it to the list of files to link together in the Makefile. Suggestions for better ways to solve this problem are welcome!
as: /tmp/cc005254.s:4057: Local symbol LBB103 never defined. as: /tmp/cc005254.s:4057: Local symbol LBE103 never defined.A possible workaround for this is to compile without
-g
.
octave_ieee_init
in
the file `sysdep.cc' to correctly initialize Octave's internal
infinity and NaN variables.
If your system does not support IEEE arithmetic but Octave's configure
script incorrectly determined that it does, you can work around the
problem by editing the file `config.h' to not define
HAVE_ISINF
, HAVE_FINITE
, and HAVE_ISNAN
.
In any case, please report this as a bug since it might be possible to
modify Octave's configuration script to automatically determine the
proper thing to do.
This section contains instructions for creating and installing a binary distribution.
sh ./doinstall.shin the top level directory of the distribution. Binary distributions are normally compiled assuming that Octave will be installed in the following subdirectories of `/usr/local'.
sh ./doinstall.sh /some/other/directoryOctave will then be installed in subdirectories of the directory `/some/other/directory'
Here is how to build a binary distribution for others.