26763: fix problem on failed cd -s to relative path
[zsh.git] / MACHINES
blob81d26b8882d820feeb10dc308253dad2ea1e476e
1 -----------------------------
2 ZSH ON SPECIFIC ARCHITECTURES
3 -----------------------------
5 These are the OSes that zsh has been tried on.  If you succeed in getting
6 zsh to work on an OS not listed, let us know.  The information in this
7 list may be out of date, as the developers do not have access to all
8 machines.  In general, GNU/Linux distributions, Solaris and Cygwin are
9 reasonably well covered.  Please let us have any recent information
10 on other systems.  The information for systems not known to have been
11 tested recently is marked as `out of date'.
13 On all machines if you use gcc and upgrade your OS you must rebuild gcc
14 after the OS upgrade.  A gcc left from a previous OS may seem to work
15 but compiling more complex programs may fail mysteriously.
17 The format of entries is thus:
19         Vendor: OS & version (hardware type) [zsh version tried]
20                 information
22 Machines
23 --------
25 Apple: MacOS X/Darwin 10.x
26         Should build `out-of-the-box'.
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
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.
36         Reported to compile with no problems on 10.4.
38         Multibyte support works, although (as on other architectures)
39         Unicode combining characters are not properly handled.
40         Problems have been noted when outputting multibyte characters
41         to the terminal from a "preexec" function.
43 Red Hat Inc.: Cygwin
44         Should build `out-of-the-box'.  The compilation directory should
45         be on a file system mounted as binary (the mount command shows
46         `binmode'). There are various issues with Cygwin versions before
47         1.3.2 - you are adviced to update to the latest release.
49         Dynamic loading works as of cygwin-1.1.3 and binutils-20000722-1.
50         It was not tested for earlier versions. This does not imply
51         that every module will work. New completion and in
52         particular zsh/zftp and zsh/mathfunc are known to work.
54         Some of the tests in the Test subdirectory are known to fail:
55         this is because the UNIX environment is not completely implemented.
57         Cygwin allows mount without existing mount point (e.g.
58         "mount //server/path /usr/src" where /usr/src does not exist).
59         Path completion will fail inside these mounts; make sure that
60         every mount point really exists.
62 DEC: Ultrix (Alpha or DECstation)
63 DEC: Mach 3.0 (DECstation 5000/25)
64 DEC: OSF/1 1.2, 1.3, 2.0, 3.x, DEC Unix 4.x (Alpha)
65         [Out of date.]
67         In OSF/1 3.x, there is apparently a bug in the header file
68         /usr/include/rpcsvc/ypclnt.h; the prototype for yp_all() has a
69         struct ypall_callback as its final argument, which should be a
70         pointer (struct ypall_callback *).  This prevents compilation of
71         one of zsh' files (zle_tricky.c).  If you can't modify the header
72         file, create a directory called `rpcsvc' in zsh's Src subdirectory
73         and put a fixed version of the header file to it before compiling.
75         The strip coming with gcc-2.7.2 seems to create unusable binaries.
76         This problem is not related to zsh.  If you have such problems,
77         remove the bogus strip and use /bin/strip instead.
79         On Digital UNIX 4.0, compilation with gcc and with --enable-dynamic
80         apparently needs configuring with explicit flags when compiling
81         with debugging enabled:
82          DLLD=gcc LDFLAGS='-g -rpath <path-to-.so-files>' ./configure ...
84 FreeBSD: FreeBSD 2.2.7, 3.x, 4.x
85         Should build `out-of-the-box'.  On FreeBSD 2.2, dynamic loading
86         does not work, but it does with 3.x and 4.x.
88 HP: HP-UX 9, 10.20, 11.x (PA-RISC, Itanium)
89         Should build `out-of-the-box'.
91         Previous problems encountered on HP-UX 11.x:
93           Some of the special keys on the keyboard (backspace, delete)
94           have been found to stop functioning.  One suggested fix is
95           to alter the way the curses library is linked in the Makefile.
96           Replacing `-lcurses' with `-lHcurses -lcurses' in the libraries
97           is reported to fix.  An attempt to fix this in configure
98           is apparently ineffective; more information would be appreciated
99           as the maintainers do not have access to an HP-UX system.
100           Recent reports indicated this is not necessary on recent versions
101           of HP-UX 11.
103           Compiling with gcc 2.7.1 is known to fail with header file
104           conflicts.  Use the HP ANSI C compiler.
106 HP/Compaq: Tru64 4.x, 5.x
107           Should build `out-of-the-box'.
109 IBM: AIX 3.2, 4.x, 5.x
110         Should build `out-of-the-box'.
112         Certain features will not work, in particular --enable-cap
113         and --enable-zsh-mem.  (The feature enabled by --enable-cap
114         is apparently present, however.  Help getting this to work
115         would be appreciated.)
117         On 3.2, for 64-bit integer support you need to compile with gcc, as
118         the native compiler does not support ANSI simultaneously with
119         `long long'.  On 4.1, there appeared to be problems using
120         --enable-dynamic (the default) with gcc (version was 2.7.2.3),
121         though native cc works. More information about this problem
122         would be appreciated.
124         It was reported, that at least some 4.x versions have problem
125         with curses - variables boolcodes and some other are declared
126         in term.h but missing is libcurses.a. That makes native compiler
127         very unhappy (GCC 3.0 apparently does not mind). Zsh now defaults
128         to termcap on AIX; any info about this problem is appreciated.
130 Linux: Linux 2.x (various 32-bit and 64-bit processors)
131         Should build `out-of-the-box'.
133         If you are using an early minor version of libc 5, then a bug
134         in the auto-configuration process may cause zsh to think that
135         your system doesn't support the lstat function.  If the configure
136         process reports that there is no lstat, edit config.h and change
137         HAVE_LSTAT to 1.  libc-5.2.18 or later does not have this problem.
139         Various problems have been reported when using optimisation
140         with the experimental GNU compiler, egcs.  In particular,
141         on Linux Alpha with egcs 1.0.3a and 1.1.1 using -O1 or greater,
142         the completion code is not correctly compiled.
144         Some versions of glibc2 have a conflict with <asm/resource.h>
145         which causes a redefinition warning on RLIM_INFINITY.  This
146         causes configure to decide that <sys/resource.h> is not present,
147         which can cause compilation errors in zsh's rlimit code.  The
148         best solution is to edit config.h after running configure and
149         #define HAS_SYS_RESOURCE_H.
151 NetBSD: NetBSD 1.x
152         Should build `out-of-the-box'.
154 OpenBSD: OpenBSD 2.x, 3.x
155         Should build `out-of-the-box'.
157 SIEMENS: Reliant UNIX
158         [Out of date.]
160         Builds `out-of-the-box'. Dynamic loading is supported. 
161         Large Files and 64-bit integers are supported as of version 5.44
162         and CDS/CDS++ compiler.
164 SIEMENS: SINIX
165         [Out of date.]
167         MX (Intel) platform: SINIX-L/M 5.41
168         Builds out-of-the-box with EGCS. Neither dynamic loading nor
169         64-bit integers are supported. Native compiler was not tried
170         mostly because GCC/EGCS builds out-of-the-box as well. If you 
171         succeed with native compiler, send a patch for this file
172         to zsh-workers.
174         RM (MIPS) platform: SINIX-N/Y 5.42
175         Should build out-of-the-box but it was not tested. Neither
176         dynamic loading nor 64-bit integers are supported.
177         Note, that this version is obsolete and users are expected to 
178         update to Reliant UNIX.
180 SGI: IRIX 6.2, 6.3
181         [Out of date.]
183         Should build `out-of-the-box'.
185 SGI: IRIX 6.5
186         Should build `out-of-the-box'; however, if using the native
187         compiler, "cc" rather than "c99" is recommended.  Compilation
188         with gcc is also reported to work.  Multibyte is supported.
190         On 6.5.2, zsh malloc routines are reported not to work; also
191         full optimization (cc -O3 -OPT:Olimit=0) causes problems.
193         If using the SGI compiler, variable length arrays need to
194         be turned off.  configure can work this out for itself if it
195         is passed the option --enable-cflags='-LANG:vla=off -O' (combined
196         with other flags if necessary).
198         The zpty module is not currently supported.  This causes the
199         tests starting `Y' in the Test directory to fail, even though
200         the features to be tested are working.
202 Sun: SunOS 4.1.x
203         [Out of date.]
205         Under 4.1.3 if yellow pages is used, username completion may cause
206         segmentation violation.  This is a bug in the shared library not
207         in zsh.  Some libc.so.1.9.* has this bug (it fails in yp_all).
208         Statically linked binaries will work if linked with libc.so.1.8.1
209         (which means that if you can get a statically linked binary
210         compiled under 4.1.2 that it will probably work).  An alternative
211         but untested solution may be to undefine HAVE_NIS in config.h.
212         This may work, but the first username completion will be _very_
213         slow (as slow as in tcsh).
215 Sun: Solaris 2.x, 8, 9, ...
216         It is recommended that the system library version of iconv()
217         be used rather than libiconv since there are incompatibilities
218         in the way codesets are named.
220         The UCB versions of the routines for reading directories are not
221         usable (the struct definitions are incompatible with the ones
222         assumed by zsh).  The symptom of this is that globbed filenames in
223         the compiled version of zsh will be missing the first two letters.
224         To avoid this, make sure you compile zsh without any reference
225         to /usr/ucblib in your LD_LIBRARY_PATH.  You can easily do this
226         by just unsetting LD_LIBRARY_PATH before building zsh.
228         Problems were once reported using --enable-largefile (the default) to
229         enable large file system and integer support on Solaris 2 with gcc
230         before 2.95.2.  Recent versions of gcc appear to be unproblematic.
232 Other machines
233 --------------
235 Zsh has previously been compiled on the following machines, but the
236 developers do not have direct access to them and the reports may be out of
237 date.  We would be glad to receive any reports of success or failure on
238 these OS's --- and, of course, any others not mentioned in this file.
240 Apple/NeXT OpenStep 4.2 for i386.
241         Reported to work at least with gcc 2.8.1 and gawk 2.15 patchlevel
242         6, but not with the bundled cc 2.7.2.1 and awk.
244 Cray: Unicos (C90 and T90)
245         Should build `out-of-the-box'.
247 Data General: DG/UX 5.4R3.10 MU01 (various AViiONs)
248         Should build `out-of-the-box'.
250 Next: NextStep 3.*
251         Should build `out-of-the-box', but the zsh malloc routines are
252         not recommended.
254 SCO: UnixWare 2.1.3
255         Builds `out-of-the-box'.