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. These are the architectures that zsh has been tried on. If you succeed in getting zsh to work on an architecture not listed, let us know. Apple: Mac with MiNT after redefining the zgetwd() function as getwd() Cray: C90 and T90 Cray machines with Unicos Should build `out-of-the-box', Data General: various AViiONs running DG/UX 5.4R3.10 MU01 Should build `out-of-the-box'. DEC: Alpha with Ultrix DECstation with Ultrix DECstation 5000/25 with Mach 3.0 Alpha with OSF/1 1.2, 1.3, 2.0, 3.x and (DEC Unix) 4.x 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. DYNIX/ptx 1.4 and 2.0.4 with X11 HP: HP-UX 9 Should build `out-of-the-box'. HP-UX 10.20 sed seems to be broken on HP-UX 10.20 which prevents prototype generation and the result is that zsh fails to compile. sed in HP-UX 9.x works. Get an older working sed, get GNU sed or try to get a fixed version from your OS vendor. If you can hack a makepro.sed which works with HP-UX 10.20 sed, please send it to zsh-workers@math.gatech.edu. IBM: AIX Should build `out-of-the-box'. Linux: 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. If you create a symbolic link from /dev/fd to /proc/self/fd, zsh will use this for process substitution. This link must exist according to the Linux standards but some distributions come without it. NetBSD: NetBSD 1.x Should build `out-of-the-box'. Next: NextStep 3.x Zsh should build easily on NextStep, but the zsh malloc routines are not recommended. SCO: SGI: IRIX 5.1.1.1, 5.2, 5.3, 6.2 and 6.3 Should build `out-of-the-box'. Sony: NWS with NEWS-OS 3.3 SUN: SunOS 4.1.x Should build `out-of-the-box'. 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 libc.so.1.9.x has this bug (it fails in yp_all). Statically linked binaries will work if linked with libc.so.1.8.1 (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). Solaris 2.x 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.