----------------------------- ZSH ON SPECIFIC ARCHITECTURES ----------------------------- 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. 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] information Machines -------- 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'. DEC: Ultrix (Alpha or DECstation) DEC: Mach 3.0 (DECstation 5000/25) DEC: OSF/1 1.2, 1.3, 2.0, 3.*, DEC Unix 4.* (Alpha) 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.1.4] Should build `out-of-the-box'. HP: HP-UX 9, 10.20, 11.0 Should build `out-of-the-box'. Problems with dynamic loading have been reported under 11, but this should compile using the standard dlopen() function set (rather than the 10.20 shl_load() function set). More details of any difficulties would be appreciated. IBM: AIX Should build `out-of-the-box'. On AIX 3.x (at least), --enable-zsh-mem will not work. Linux: Linux (i386) [3.1.4] 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. NetBSD: NetBSD 1.* Should build `out-of-the-box'. Next: NextStep 3.* Should build `out-of-the-box', but the zsh malloc routines are not recommended. Reliant: Reliant UNIX Should build `out-of-the-box'. Reliant: SINIX Should build `out-of-the-box'. There is a bad combination of static and shared libraries that prevents the use of dynamic linking; configure now detects this and will disable dynamic linking even if you requested it. SGI: IRIX 5.1.1.1, 5.2, 5.3, 6.2, 6.3, 6.5 Should build `out-of-the-box'. On 6.5.2, zsh malloc routines are reported not to work; also full optimization (cc -O3 -OPT:Olimit=0) causes problems. Sun: SunOS 4.1.* 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.* 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). Sun: Solaris 2.* 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. Under Solaris 2.7, problems have been reported with dynamically loaded library support using --enable-dynamic. However, other users have been successful with the standard Sun compiler. More details of any problems would be appreciated.