Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
266 lines (205 sloc) 10.3 KB
These are the OSes that zsh has been tried on. If you succeed in getting
zsh to work on an OS not listed, let us know. The information in this
list may be out of date, as the developers do not have access to all
machines. In general, GNU/Linux distributions, Solaris and Cygwin are
reasonably well covered. Please let us have any recent information
on other systems. The information for systems not known to have been
tested recently is marked as `out of date'.
On all machines if you use gcc and upgrade your OS you must rebuild gcc
after the OS upgrade. A gcc left from a previous OS may seem to work
but compiling more complex programs may fail mysteriously.
The format of entries is thus:
Vendor: OS & version (hardware type) [zsh version tried]
Apple: MacOS X/Darwin 10.x
Should build `out-of-the-box'.
For dynamic loading to work on 10.1 and 10.2, you need to use the
dlcompat library. It can be downloaded from:
The zsh/zpty library is not working on 10.1 and 10.2, but is on
10.3. This causes the tests starting `Y' in the Test directory to
fail, even though the features to be tested are working.
Reported to compile with no problems on 10.4.
Multibyte support works, although (as on other architectures)
Unicode combining characters are not properly handled.
Problems have been noted when outputting multibyte characters
to the terminal from a "preexec" function.
Red Hat Inc.: Cygwin
Should build `out-of-the-box'. The compilation directory should
be on a file system mounted as binary (the mount command shows
`binmode'). There are various issues with Cygwin versions before
1.3.2 - you are adviced to update to the latest release.
Process substitution using <(...), >(...), =(...) may be
problematic. Different versions of zsh and Cygwin have
a different mix of issues.
Problems handling subprocesses have been reported with Cygwin
1.7.5. It is not currently known how the problems split between
Cygwin and zsh.
Some of the tests in the Test subdirectory are known to fail:
this is because the UNIX environment is not completely implemented.
Cygwin allows mount without existing mount point (e.g.
"mount //server/path /usr/src" where /usr/src does not exist).
Path completion will fail inside these mounts; make sure that
every mount point really exists.
DEC: Ultrix (Alpha or DECstation)
DEC: Mach 3.0 (DECstation 5000/25)
DEC: OSF/1 1.2, 1.3, 2.0, 3.x, DEC Unix 4.x (Alpha)
[Out of date.]
In OSF/1 3.x, there is apparently a bug in the header file
/usr/include/rpcsvc/ypclnt.h; the prototype for yp_all() has a
struct ypall_callback as its final argument, which should be a
pointer (struct ypall_callback *). This prevents compilation of
one of zsh' files (zle_tricky.c). If you can't modify the header
file, create a directory called `rpcsvc' in zsh's Src subdirectory
and put a fixed version of the header file to it before compiling.
The strip coming with gcc-2.7.2 seems to create unusable binaries.
This problem is not related to zsh. If you have such problems,
remove the bogus strip and use /bin/strip instead.
On Digital UNIX 4.0, compilation with gcc and with --enable-dynamic
apparently needs configuring with explicit flags when compiling
with debugging enabled:
DLLD=gcc LDFLAGS='-g -rpath <>' ./configure ...
FreeBSD: FreeBSD 2.2.7, 3.x, 4.x
Should build `out-of-the-box'. On FreeBSD 2.2, dynamic loading
does not work, but it does with 3.x and 4.x.
HP: HP-UX 9, 10.20, 11.x (PA-RISC, Itanium)
Should build `out-of-the-box'.
Previous problems encountered on HP-UX 11.x:
Some of the special keys on the keyboard (backspace, delete)
have been found to stop functioning. One suggested fix is
to alter the way the curses library is linked in the Makefile.
Replacing `-lcurses' with `-lHcurses -lcurses' in the libraries
is reported to fix this on 11.0, but is no longer necessary on
more recent versions of HP-UX 11, i.e. 11.11+.
Typical gcc installations on HP-UX use HP's linker rather than
the GNU one. Configure will fail to set up dynamic linking in
this situation. The following should allow building of modules:
DLLD=/usr/ccs/bin/ld DLLDFLAGS=-b DLCFLAGS=-fpic ./configure ...
Compiling with gcc 2.7.1 is known to fail with header file
conflicts. Use the HP ANSI C compiler.
HP/Compaq: Tru64 4.x, 5.x
Should build `out-of-the-box'.
IBM: AIX 3.2, 4.x, 5.x
Should build `out-of-the-box'.
Certain features will not work, in particular --enable-cap
and --enable-zsh-mem. (The feature enabled by --enable-cap
is apparently present, however. Help getting this to work
would be appreciated.)
On 3.2, for 64-bit integer support you need to compile with gcc, as
the native compiler does not support ANSI simultaneously with
`long long'. On 4.1, there appeared to be problems using
--enable-dynamic (the default) with gcc (version was,
though native cc works. More information about this problem
would be appreciated.
It was reported, that at least some 4.x versions have problem
with curses - variables boolcodes and some other are declared
in term.h but missing is libcurses.a. That makes native compiler
very unhappy (GCC 3.0 apparently does not mind). Zsh now defaults
to termcap on AIX; any info about this problem is appreciated.
Linux: Linux 2.x (various 32-bit and 64-bit processors)
Should build `out-of-the-box'.
If you are using an early minor version of libc 5, then a bug
in the auto-configuration process may cause zsh to think that
your system doesn't support the lstat function. If the configure
process reports that there is no lstat, edit config.h and change
HAVE_LSTAT to 1. libc-5.2.18 or later does not have this problem.
Various problems have been reported when using optimisation
with the experimental GNU compiler, egcs. In particular,
on Linux Alpha with egcs 1.0.3a and 1.1.1 using -O1 or greater,
the completion code is not correctly compiled.
Some versions of glibc2 have a conflict with <asm/resource.h>
which causes a redefinition warning on RLIM_INFINITY. This
causes configure to decide that <sys/resource.h> is not present,
which can cause compilation errors in zsh's rlimit code. The
best solution is to edit config.h after running configure and
NetBSD: NetBSD 1.x
Should build `out-of-the-box'.
OpenBSD: OpenBSD 2.x, 3.x
Should build `out-of-the-box'.
OpenIndiana: OpenIndiana 151a
Problems have been reported with awk when used to generate
prototype files for building zsh. Upgrading to gawk (GNU awk)
version 4.0.0 fixes this.
[Out of date.]
Builds `out-of-the-box'. Dynamic loading is supported.
Large Files and 64-bit integers are supported as of version 5.44
and CDS/CDS++ compiler.
[Out of date.]
MX (Intel) platform: SINIX-L/M 5.41
Builds out-of-the-box with EGCS. Neither dynamic loading nor
64-bit integers are supported. Native compiler was not tried
mostly because GCC/EGCS builds out-of-the-box as well. If you
succeed with native compiler, send a patch for this file
to zsh-workers.
RM (MIPS) platform: SINIX-N/Y 5.42
Should build out-of-the-box but it was not tested. Neither
dynamic loading nor 64-bit integers are supported.
Note, that this version is obsolete and users are expected to
update to Reliant UNIX.
SGI: IRIX 6.2, 6.3
[Out of date.]
Should build `out-of-the-box'.
Should build `out-of-the-box'; however, if using the native
compiler, "cc" rather than "c99" is recommended. Compilation
with gcc is also reported to work. Multibyte is supported.
On 6.5.2, zsh malloc routines are reported not to work; also
full optimization (cc -O3 -OPT:Olimit=0) causes problems.
If using the SGI compiler, variable length arrays need to
be turned off. configure can work this out for itself if it
is passed the option --enable-cflags='-LANG:vla=off -O' (combined
with other flags if necessary).
The zpty module is not currently supported. This causes the
tests starting `Y' in the Test directory to fail, even though
the features to be tested are working.
Sun: SunOS 4.1.x
[Out of date.]
Under 4.1.3 if yellow pages is used, username completion may cause
segmentation violation. This is a bug in the shared library not
in zsh. Some* has this bug (it fails in yp_all).
Statically linked binaries will work if linked with
(which means that if you can get a statically linked binary
compiled under 4.1.2 that it will probably work). An alternative
but untested solution may be to undefine HAVE_NIS in config.h.
This may work, but the first username completion will be _very_
slow (as slow as in tcsh).
Sun: Solaris 2.x, 8, 9, ...
It is recommended that the system library version of iconv()
be used rather than libiconv since there are incompatibilities
in the way codesets are named.
The UCB versions of the routines for reading directories are not
usable (the struct definitions are incompatible with the ones
assumed by zsh). The symptom of this is that globbed filenames in
the compiled version of zsh will be missing the first two letters.
To avoid this, make sure you compile zsh without any reference
to /usr/ucblib in your LD_LIBRARY_PATH. You can easily do this
by just unsetting LD_LIBRARY_PATH before building zsh.
Problems were once reported using --enable-largefile (the default) to
enable large file system and integer support on Solaris 2 with gcc
before 2.95.2. Recent versions of gcc appear to be unproblematic.
Other machines
Zsh has previously been compiled on the following machines, but the
developers do not have direct access to them and the reports may be out of
date. We would be glad to receive any reports of success or failure on
these OS's --- and, of course, any others not mentioned in this file.
Apple/NeXT OpenStep 4.2 for i386.
Reported to work at least with gcc 2.8.1 and gawk 2.15 patchlevel
6, but not with the bundled cc and awk.
Cray: Unicos (C90 and T90)
Should build `out-of-the-box'.
Data General: DG/UX 5.4R3.10 MU01 (various AViiONs)
Should build `out-of-the-box'.
Next: NextStep 3.*
Should build `out-of-the-box', but the zsh malloc routines are
not recommended.
SCO: UnixWare 2.1.3
Builds `out-of-the-box'.
Jump to Line
Something went wrong with that request. Please try again.