annotate README.Windows @ 4337:d56e0d75e7c9 ss-2-1-45

[project @ 2003-02-19 21:20:19 by jwe]
author jwe
date Wed, 19 Feb 2003 21:20:19 +0000
parents 92fb162eba24
children 54a8705b0463
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
1 *** PLEASE NOTE: This information is mostly out of date. It would be
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
2 *** useful for someone who uses Octave on Windows to take over
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
3 *** mainenance of this and other files related to running Octave on
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
4 *** Windows systems.
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
5
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3176
diff changeset
6
3167
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
7 Octave has been ported to Windows NT and Windows 95 using the gnu-win32
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
8 tools from Cygnus Support. If you would like to volunteer to work on
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
9 improving this port, please contact bug-octave@bevo.che.wisc.edu.
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
10
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
11 The directory ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
12 contains a binary distribution of Octave for Windows NT/95 along with
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
13 installation instructions. Unless you are interested in doing some
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
14 hacking, you should use the binary releases.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
15
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
16 Here is a list of current problems (and workarounds, where available).
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
17
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
18 * To compile and install Octave on a Windows NT/95 system,
3167
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
19 you will need to get the beta 19 release of the gnu-win32 tools.
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
20 They are available from ftp://ftp.cygnus.com/pub/gnu-win32.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
21
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
22 * You will need to have f2c and libf2c.a or g77 installed. I would
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
23 recommend using g77. Mumit Khan has directions for building g77 at
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
24 http://www.xraylith.wisc.edu/~khan/software/gnu-win32/g77.html.
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
25 Another solution is to use egcs, which includes g77. The egcs
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
26 compiler is available from http://www.cygnus.com/egcs.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
27
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
28 * You will also need a termcap library. The GNU termcap library seems
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
29 to work. You can get it from any GNU archive site, including
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
30 ftp://ftp.gnu.org/pub/gnu/termcap-1.3.tar.gz.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
31
3167
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
32 * It is possible to cross-compile Octave for Windows NT/95 systems.
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
33 On the same hardware, it's generally much faster to use gcc as a
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
34 cross compiler under Linux than as a native compiler under Windows.
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
35
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
36 Here are some instructions for building a cross version of gcc and
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
37 then using it to compile Octave. I've done this using a Linux
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
38 system as the host, but it should work equally well on other systems
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
39 that can run gcc).
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
40
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
41 + install cdk on your Windows system
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
42
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
43 + build a cross version of binutils:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
44
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
45 tar zxf binutils-2.9.tar.gz
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
46 cd binutils-2.9
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
47 ./configure --target=i386-pc-cygwin32 --prefix=/usr/local/cross-gcc
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
48 make
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
49 make install
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
50
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
51 (You can choose whatever value for prefix that you prefer, of
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
52 course, just remember to also make the corresponding changes in the
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
53 following steps as well.)
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
54
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
55 + copy libraries and include files from cdk. You'll need the
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
56 library files from the following directory trees:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
57
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
58 b19/H-i386-pc-cygwin32/lib
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
59 b19/H-i386-pc-cygwin32/i386-cygwin32/lib
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
60
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
61 Copy them to /usr/local/cross-gcc/i386-pc-cygwin32/lib.
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
62
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
63 You'll also need the include files from the following directory
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
64 trees:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
65
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
66 b19/include
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
67 b19/H-i386-pc-cygwin32/include
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
68
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
69 Copy them to /usr/local/cross-gcc/i386-pc-cygwin32/include.
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
70
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
71 + build cross version of egcs:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
72
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
73 tar zxf egcs-1.0.2.tar.gz
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
74 cd egcs-1.0.2
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
75 export PATH=/usr/local/cross-gcc/bin:$PATH
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
76 ./configure --target=i386-pc-cygwin32 --prefix=/usr/local/cross-gcc
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
77 make
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
78 make install
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
79
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
80 + cross-compile libtermcap:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
81
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
82 export PATH=/usr/local/cross-gcc/i386-pc-cygwin32/bin:$PATH
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
83 tar zxf termcap-1.3.tar.gz
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
84 cd termcap-1.3
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
85 ./configure --host=i386-pc-cygwin3
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
86 make
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
87 cp termcap.h /usr/local/cross-gcc/i386-pc-cygwin32/include
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
88 cp libtermcap.a /usr/local/cross-gcc/i386-pc-cygwin32/lib
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
89
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
90 + cross-compile Octave using the compiler you just built:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
91
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
92 export PATH=/usr/local/cross-gcc/i386-pc-cygwin32/bin:$PATH
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
93 tar zxf octave-2.0.12.tar.gz
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
94 cd octave-2.0.10
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
95 ./configure --host=i386-pc-cygwin3
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
96 make
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
97
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
98 + make a binary distribution to copy to your Windows system:
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
99
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
100 make -f octMakefile binary-dist
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
101
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
102 + copy the binary distribution to your Windows system and install
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
103 using the intall-octave shell script
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
104
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
105 * Octave requires gnuplot for plotting, but the normal Windows version
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
106 of gnuplot will not work because it only reads from the GUI and refuses
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
107 to read input from stdin. Mumit Khan has written a patch that fixes
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
108 the problem, but the gnuplot license does not allow us to distribute
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
109 modified versions of gnuplot in binary form. The patch is available
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
110 from http://www.xraylith.wisc.edu/~khan/software/gnu-win32.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
111
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
112 * If Octave takes a long time to find function files, you may have to
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
113 modify your LOADPATH to avoid device names specified using the
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
114 `//DEV/subdir' syntax. To map the D: drive (for example) to
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
115 /D_DRIVE, do the following:
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
116
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
117 cd /
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
118 mkdir /D_DRIVE
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
119 mount d: /D_DRIVE
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
120
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
121 Then you can set your LOADPATH to include /D_DRIVE/subdir instead of
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
122 //d/subdir.
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
123
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
124 * If you see error messages like the following:
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
125
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
126 The heap has been split, CYGWIN can't fork this process. Increase
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
127 the heap_chunk_size in the registry and try again.
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
128
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
129 you can increase the heap size by saving the follwoing text to a
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
130 file (delete the leading white space) and then double click on the
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
131 file. Try changing the value to something larger than 4 (MB).
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
132
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
133 REGEDIT4
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
134
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
135 [HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0]
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
136 "heap_chunk_in_mb"=dword:00000004
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
137
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3167
diff changeset
138
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
139 If you know of solutions for any of the problems mentioned above,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 2605
diff changeset
140 please contact bug-octave@bevo.che.wisc.edu.
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
141
3154
352a80c32765 [project @ 1998-02-14 19:17:59 by jwe]
jwe
parents: 3130
diff changeset
142 More information about the gnu-win32 project is available via the WWW
2587
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
143 at http://www.cygnus.com/gnu-win32.
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
144
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
145 John W. Eaton
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
146 jwe@bevo.che.wisc.edu
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
147 University of Wisconsin-Madison
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
148 Department of Chemical Engineering
7323c6c5c1c4 [project @ 1996-12-12 08:14:36 by jwe]
jwe
parents:
diff changeset
149
3167
d609b993be3b [project @ 1998-04-17 04:41:59 by jwe]
jwe
parents: 3154
diff changeset
150 Thu Apr 16 23:39:13 1998