Octave has been ported to Windows NT and Windows 95 using the gnu-win32 tools from Cygnus Support. If you would like to volunteer to work on improving this port, please contact bug-octave@bevo.che.wisc.edu. The directory ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32 contains a binary distribution of Octave for Windows NT/95 along with installation instructions. Unless you are interested in doing some hacking, you should use the binary releases. Here is a list of current problems (and workarounds, where available). * To compile and install Octave on a Windows NT/95 system, you will need to get the beta 19 release of the gnu-win32 tools. They are available from ftp://ftp.cygnus.com/pub/gnu-win32. * You will need to have f2c and libf2c.a or g77 installed. I would recommend using g77. Mumit Khan has directions for building g77 at http://www.xraylith.wisc.edu/~khan/software/gnu-win32/g77.html. Another solution is to use egcs, which includes g77. The egcs compiler is available from http://www.cygnus.com/egcs. * You will also need a termcap library. The GNU termcap library seems to work. You can get it from any GNU archive site, including ftp://ftp.gnu.org/pub/gnu/termcap-1.3.tar.gz. * It is possible to cross-compile Octave for Windows NT/95 systems. On the same hardware, it's generally much faster to use gcc as a cross compiler under Linux than as a native compiler under Windows. Here are some instructions for building a cross version of gcc and then using it to compile Octave. I've done this using a Linux system as the host, but it should work equally well on other systems that can run gcc). + install cdk on your Windows system + build a cross version of binutils: tar zxf binutils-2.9.tar.gz cd binutils-2.9 ./configure --target=i386-pc-cygwin32 --prefix=/usr/local/cross-gcc make make install (You can choose whatever value for prefix that you prefer, of course, just remember to also make the corresponding changes in the following steps as well.) + copy libraries and include files from cdk. You'll need the library files from the following directory trees: b19/H-i386-pc-cygwin32/lib b19/H-i386-pc-cygwin32/i386-cygwin32/lib Copy them to /usr/local/cross-gcc/i386-pc-cygwin32/lib. You'll also need the include files from the following directory trees: b19/include b19/H-i386-pc-cygwin32/include Copy them to /usr/local/cross-gcc/i386-pc-cygwin32/include. + build cross version of egcs: tar zxf egcs-1.0.2.tar.gz cd egcs-1.0.2 export PATH=/usr/local/cross-gcc/bin:$PATH ./configure --target=i386-pc-cygwin32 --prefix=/usr/local/cross-gcc make make install + cross-compile libtermcap: export PATH=/usr/local/cross-gcc/i386-pc-cygwin32/bin:$PATH tar zxf termcap-1.3.tar.gz cd termcap-1.3 ./configure --host=i386-pc-cygwin3 make cp termcap.h /usr/local/cross-gcc/i386-pc-cygwin32/include cp libtermcap.a /usr/local/cross-gcc/i386-pc-cygwin32/lib + cross-compile Octave using the compiler you just built: export PATH=/usr/local/cross-gcc/i386-pc-cygwin32/bin:$PATH tar zxf octave-2.0.12.tar.gz cd octave-2.0.10 ./configure --host=i386-pc-cygwin3 make + make a binary distribution to copy to your Windows system: make -f octMakefile binary-dist + copy the binary distribution to your Windows system and install using the intall-octave shell script * Octave requires gnuplot for plotting, but the normal Windows version of gnuplot will not work because it only reads from the GUI and refuses to read input from stdin. Mumit Khan has written a patch that fixes the problem, but the gnuplot license does not allow us to distribute modified versions of gnuplot in binary form. The patch is available from http://www.xraylith.wisc.edu/~khan/software/gnu-win32. * If Octave takes a long time to find function files, you may have to modify your LOADPATH to avoid device names specified using the `//DEV/subdir' syntax. To map the D: drive (for example) to /D_DRIVE, do the following: cd / mkdir /D_DRIVE mount d: /D_DRIVE Then you can set your LOADPATH to include /D_DRIVE/subdir instead of //d/subdir. * If you see error messages like the following: The heap has been split, CYGWIN can't fork this process. Increase the heap_chunk_size in the registry and try again. you can increase the heap size by saving the follwoing text to a file (delete the leading white space) and then double click on the file. Try changing the value to something larger than 4 (MB). REGEDIT4 [HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0] "heap_chunk_in_mb"=dword:00000004 If you know of solutions for any of the problems mentioned above, please contact bug-octave@bevo.che.wisc.edu. More information about the gnu-win32 project is available via the WWW at http://www.cygnus.com/gnu-win32. John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison Department of Chemical Engineering Thu Apr 16 23:39:13 1998