1-----------------------------
2ZSH ON SPECIFIC ARCHITECTURES
3-----------------------------
4
5These are the OSes that zsh has been tried on.  If you succeed in getting
6zsh to work on an OS not listed, let us know.  The information in this
7list may be out of date, as the developers do not have access to all
8machines.  In general, GNU/Linux distributions, Solaris and Cygwin are
9reasonably well covered.  Please let us have any recent information
10on other systems.  The information for systems not known to have been
11tested recently is marked as `out of date'.
12
13On all machines if you use gcc and upgrade your OS you must rebuild gcc
14after the OS upgrade.  A gcc left from a previous OS may seem to work
15but compiling more complex programs may fail mysteriously.
16
17The format of entries is thus:
18
19	Vendor: OS & version (hardware type) [zsh version tried]
20		information
21
22Machines
23--------
24
25Apple: MacOS X/Darwin 10.x
26	Should build `out-of-the-box'.
27
28	For dynamic loading to work on 10.1 and 10.2, you need to use the
29	dlcompat library.  It can be downloaded from:
30	    http://sourceforge.net/project/showfiles.php?group_id=17203
31
32	The zsh/zpty library is not working on 10.1 and 10.2, but is on
33	10.3.  This causes the tests starting `Y' in the Test directory to
34	fail, even though the features to be tested are working.
35
36	Reported to compile with no problems on 10.4.
37
38	Compiling with GCC on 10.9.1 (Mavericks) reportedly causes a crash
39	due to a libiconv problem.  Compile with clang instead.
40
41	Multibyte support works; you probably wish to set the
42	option COMBINING_CHARS, which is not enabled by default.
43	Problems have been noted when outputting multibyte characters
44	to the terminal from a "preexec" function.
45
46Red Hat Inc.: Cygwin
47	Should build `out-of-the-box'.  The compilation directory should
48	be on a file system mounted as binary (the mount command shows
49	`binmode'). There are various issues with Cygwin versions before
50	1.3.2 - you are adviced to update to the latest release.
51
52	Process substitution using <(...), >(...), =(...) may be
53	problematic.  Different versions of zsh and Cygwin have
54	a different mix of issues.
55
56	Problems handling subprocesses have been reported with Cygwin
57	1.7.5.  It is not currently known how the problems split between
58	Cygwin and zsh.
59
60	Some of the tests in the Test subdirectory are known to fail:
61	this is because the UNIX environment is not completely implemented.
62
63	Cygwin allows mount without existing mount point (e.g.
64	"mount //server/path /usr/src" where /usr/src does not exist).
65	Path completion will fail inside these mounts; make sure that
66	every mount point really exists.
67
68FreeBSD: FreeBSD 2.2.7, 3.x, 4.x, ... 7
69	Should build `out-of-the-box'.  On FreeBSD 2.2, dynamic loading
70	does not work, but it does with 3.x and later.
71
72HP: HP-UX 9, 10.20, 11.x (PA-RISC, Itanium)
73	Should build `out-of-the-box'.
74
75	Previous problems encountered on HP-UX 11.x:
76
77	  Some of the special keys on the keyboard (backspace, delete)
78	  have been found to stop functioning.  One suggested fix is
79	  to alter the way the curses library is linked in the Makefile.
80	  Replacing `-lcurses' with `-lHcurses -lcurses' in the libraries
81	  is reported to fix this on 11.0, but is no longer necessary on
82	  more recent versions of HP-UX 11, i.e. 11.11+.
83
84	  Typical gcc installations on HP-UX use HP's linker rather than
85	  the GNU one.  Configure will fail to set up dynamic linking in
86	  this situation.  The following should allow building of modules:
87	    DLLD=/usr/ccs/bin/ld DLLDFLAGS=-b DLCFLAGS=-fpic ./configure ...
88
89	  Compiling with gcc 2.7.1 is known to fail with header file
90	  conflicts.  Use the HP ANSI C compiler.
91
92IBM: AIX 3.2, 4.x, 5.x
93	Should build `out-of-the-box'.
94
95	Certain features will not work, in particular --enable-cap
96	and --enable-zsh-mem.  (The feature enabled by --enable-cap
97	is apparently present, however.  Help getting this to work
98	would be appreciated.)
99
100	On 3.2, for 64-bit integer support you need to compile with gcc, as
101	the native compiler does not support ANSI simultaneously with
102	`long long'.  On 4.1, there appeared to be problems using
103	--enable-dynamic (the default) with gcc (version was 2.7.2.3),
104	though native cc works. More information about this problem
105	would be appreciated.
106
107	It was reported, that at least some 4.x versions have problem
108	with curses - variables boolcodes and some other are declared
109	in term.h but missing is libcurses.a. That makes native compiler
110	very unhappy (GCC 3.0 apparently does not mind). Zsh now defaults
111	to termcap on AIX; any info about this problem is appreciated.
112
113Linux: Linux 2.x, 3.x (various 32-bit and 64-bit processors)
114	Should build `out-of-the-box'.
115
116        The following problems should not occur with recent
117        distributions.
118
119	If you are using an early minor version of libc 5, then a bug
120	in the auto-configuration process may cause zsh to think that
121	your system doesn't support the lstat function.  If the configure
122	process reports that there is no lstat, edit config.h and change
123	HAVE_LSTAT to 1.  libc-5.2.18 or later does not have this problem.
124
125	Some versions of glibc2 have a conflict with <asm/resource.h>
126	which causes a redefinition warning on RLIM_INFINITY.  This
127	causes configure to decide that <sys/resource.h> is not present,
128	which can cause compilation errors in zsh's rlimit code.  The
129	best solution is to edit config.h after running configure and
130	#define HAS_SYS_RESOURCE_H.
131
132NetBSD: NetBSD 1.x
133	Should build `out-of-the-box'.
134
135OpenBSD: OpenBSD 2.x, 3.x
136	Should build `out-of-the-box'.
137
138OpenIndiana: OpenIndiana 151a
139	Problems have been reported with awk when used to generate
140	prototype files for building zsh.  Upgrading to gawk (GNU awk)
141	version 4.0.0 fixes this.
142
143Sun: Solaris 2.x, 8, 9, ...
144	It is recommended that the system library version of iconv()
145	be used rather than libiconv since there are incompatibilities
146	in the way codesets are named.
147
148	The UCB versions of the routines for reading directories are not
149	usable (the struct definitions are incompatible with the ones
150	assumed by zsh).  The symptom of this is that globbed filenames in
151	the compiled version of zsh will be missing the first two letters.
152	To avoid this, make sure you compile zsh without any reference
153	to /usr/ucblib in your LD_LIBRARY_PATH.  You can easily do this
154	by just unsetting LD_LIBRARY_PATH before building zsh.
155
156	Problems were once reported using --enable-largefile (the default) to
157	enable large file system and integer support on Solaris 2 with gcc
158	before 2.95.2.  Recent versions of gcc appear to be unproblematic.
159
160Other machines
161--------------
162
163Zsh has previously been compiled on the following machines, but the
164developers do not have direct access to them and the reports may be out
165of date.  Some of these OS's are now very long in the tooth.  We would
166be glad to receive any reports of success or failure on these OS's ---
167and, of course, any others not mentioned in this file.
168
169Apple/NeXT OpenStep 4.2 for i386.
170	Reported to work at least with gcc 2.8.1 and gawk 2.15 patchlevel
171	6, but not with the bundled cc 2.7.2.1 and awk.
172
173Cray: Unicos (C90 and T90)
174	Should build `out-of-the-box'.
175
176Data General: DG/UX 5.4R3.10 MU01 (various AViiONs)
177	Should build `out-of-the-box'.
178
179DEC: Ultrix (Alpha or DECstation)
180DEC: Mach 3.0 (DECstation 5000/25)
181DEC: OSF/1 1.2, 1.3, 2.0, 3.x, DEC Unix 4.x (Alpha)
182
183HP/Compaq: Tru64 4.x, 5.x
184
185Next: NextStep 3.*
186	Should build `out-of-the-box', but the zsh malloc routines are
187	not recommended.
188
189SCO: UnixWare 2.1.3
190	Builds `out-of-the-box'.
191
192SGI: IRIX 6.2, 6.3, 6.5
193
194SIEMENS: SINIX
195
196SIEMENS: Reliant UNIX
197
198Sun: SunOS 4.1.x
199