Solaris: setpag should verify that ngroups will not overflow
[openafs.git] / README
diff --git a/README b/README
index 0b537e8..e65d1c9 100644 (file)
--- a/README
+++ b/README
@@ -27,52 +27,47 @@ A  Configuring
    source in, you will only have an src/ directory.
 
    1. Pick a system to build for, and note its default AFS sys_name.
-      A directory will be automatically created for binaries to be written 
+      A directory will be automatically created for binaries to be written
       into with this name when you build.
 
       alpha_dux40, alpha_dux50, alpha_dux51 (client does not work)
-      alpha_linux22, alpha_linux24, alpha_linux26
+      alpha_linux26
       alpha_nbsd15, alpha_nbsd16
-      amd64_fbsd_53 (client does not work)
-      amd64_linux24, amd64_linux26
+      amd64_fbsd_80, amd64_fbsd_81, amd64_fbsd_82, amd64_fbsd_83,
+         amd64_fbsd_84, amd64_fbsd_90, amd64_fbsd_91, amd64_fbsd_92,
+         amd64_fbsd_93, amd64_fbsd_100, amd64_fbsd_101
+      amd64_linux26
       amd64_nbsd20, amd64_nbsd30, amd64_nbsd40
-      arm_linux24, arm_linux26
+      arm_linux26
       hp_ux11i, hp_ux110, hp_ux1123 (See notes below for information on
          getting missing header)
       hp_ux102 (Client port possible, but db servers and utilities work)
-      i386_fbsd_50, i386_fbsd_51, i386_fbsd_52, i386_fbsd_53,
-         i386_fbsd_60, i386_fbsd_61, i386_fbsd_62, i386_fbsd_70,
-         i386_fbsd_80, i386_fbsd_81, i386_fbsd_90, amd64_fbsd_50,
-         amd64_fbsd_51, amd64_fbsd_52, amd64_fbsd_53, amd64_fbsd_60,
-         amd64_fbsd_61, amd64_fbsd_62, amd64_fbsd_70, amd64_fbsd_80,
-         amd64_fbsd_81, amd64_fbsd_90
-         (client may work on 70 and later)
-      i386_linux22, i386_linux24, i386_linux26
+      i386_fbsd_80, i386_fbsd_81, i386_fbsd_82, i386_fbsd_83,
+         i386_fbsd_84, i386_fbsd_90, i386_fbsd_91, i386_fbsd_92,
+         i386_fbsd_93, i386_fbsd_100, i386_fbsd_101
+      i386_linux26
       i386_nbsd15, i386_nbsd16, i386_nbsd20, i386_nbsd21, i386_nbsd30,
          i386_nbsd40
       i386_obsd31, i386_obsd32, i386_obsd33, i386_obsd34, i386_obsd35,
          i386_obsd36, i386_obsd37, i386_obsd38, i386_obsd39, i386_obsd40,
          i386_obsd41
-      i386_umlinux22, i386_umlinux24, i386_umlinux26
+      i386_umlinux26
       ia64_hpux1122, ia64_hpux1123
-      ia64_linux24, ia64_linux26
-      parisc_linux24
-      ppc64_linux24, ppc64_linux26
+      ia64_linux26
+      ppc64_linux26
       ppc_darwin_12, ppc_darwin_13, ppc_darwin_14, ppc_darwin_60,
          ppc_darwin_70, ppc_darwin_80, ppc_darwin_90
-      ppc_linux22, ppc_linux24, ppc_linux26
+      ppc_linux26
       ppc_nbsd16, ppc_nbsd20
       rs_aix42, rs_aix51, rs_aix52, rs_aix53, rs_aix61
-      s390_linux22, s390_linux24, s390_linux26
-      s390x_linux24, s390x_linux26
+      s390_linux26
+      s390x_linux26
       sgi_62, sgi_63, sgi_64, sgi_65 (file server not tested)
-      sparc64_linux22, sparc64_linux24, sparc64_linux26
-      sparc_linux22, sparc_linux24
-      sun4_413 (No client support, no fileserver support, db servers only)
-      sun4x_56, sun4x_57, sun4x_58, sun4x_59, sun4x_510, sun4x_511
+      sparc64_linux26
+      sun4x_58, sun4x_59, sun4x_510, sun4x_511
          (logging UFS not supported for mixed-use partitions containing
          client cache)
-      sunx86_57, sunx86_58, sunx86_59, sunx86_510, sunx86_511
+      sunx86_58, sunx86_59, sunx86_510, sunx86_511
          (logging UFS not supported for mixed-use partitions containing
          client cache)
       x86_darwin_80, x86_darwin90
@@ -145,18 +140,18 @@ A  Configuring
 
 B  Building
 
-   1. Now, you can build OpenAFS. 
+   1. Now, you can build OpenAFS.
 
       % make
 
-   2. Install your build using either "make install" to install 
+   2. Install your build using either "make install" to install
       into the current system (you will need to be root, and files
       will be placed as appropriate for Transarc or standard paths),
-      "make install DESTDIR=/some/path" to install into an alternate 
+      "make install DESTDIR=/some/path" to install into an alternate
       directory tree, or if you configured with --enable-transarc-paths
-      make dest to create a complete binary tree in the dest directory      
+      make dest to create a complete binary tree in the dest directory
       under the directory named for the sys_name you built for,
-      e.g. sun4x_57/dest or i386_linux22/dest 
+      e.g. sun4x_57/dest or i386_linux26/dest
 
    3. As appropriate you can clean up or, if you're using Linux, build for
       another kernel version.
@@ -168,7 +163,7 @@ B  Building
 C  Problems
 
    If you have a problem building this source, you may want to visit
-   http://www.openafs.org/ to see if any problems have been reported 
+   http://www.openafs.org/ to see if any problems have been reported
    or to find out how to get more help.
 
    Mailing lists have been set up to help; More details can be found
@@ -188,7 +183,7 @@ D  Linux Notes
    "include". So if your version file were
    /usr/src/linux/include/linux/version.h you would run:
 
-   % ./configure --with-afs-sysname=i386_linux24 \
+   % ./configure --with-afs-sysname=i386_linux26 \
        --with-linux-kernel-headers=/usr/src/linux
 
    Currently you can build for only one Linux kernel at a time, and the
@@ -199,8 +194,8 @@ D  Linux Notes
    then run:
 
       % ./configure --with-afs-sysname=<sysname> \
-          --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
-      % make 
+          --with-linux-kernel-headers=/usr/src/linux-3.19-i686
+      % make
 
    Your build tree will now include an additional kernel module for your
    additional kernel headers. Be aware that if the kernel version string
@@ -208,6 +203,10 @@ D  Linux Notes
    last kernel you built for, the previous kernel module will be
    overwritten.
 
+   The Linux 2.4 series (and older) are no longer supported. The OpenAFS 1.6
+   series of releases are the last ones supporting those old kernels and in
+   particular their LinuxThreads.
+
 E  HP-UX 11.0 Notes
 
    HP-UX 11.0 requires a header called vfs_vm.h which HP has provided on
@@ -237,8 +236,11 @@ F  OpenBSD Notes
 
 G  FreeBSD Notes
 
-   The FreeBSD client may now work; It is tested on 7.0 and on current
-   as of the commit date.
+   The FreeBSD client supports FreeBSD 8.x and later, but does not receive
+   regular testing on versions older than FreeBSD 9.x at this time.  Only
+   the amd64 and i386 architectures are supported, but it should not be
+   hard to port to other processors if they are already supported under
+   another operating system.
 
    You need kernel source installed to build OpenAFS.  Use the
    --with-bsd-kernel-headers= configure option if your kernel source is
@@ -246,16 +248,11 @@ G  FreeBSD Notes
 
    You also need access to your kernel build directory for the opt_global.h
    include file.  Use the --with-bsd-kernel-build= configure option if your
-   kernel build is not GENERIC in the standard place. If 
-   /usr/src/sys/${CPUARCH}/compile/GENERIC does not point to 
-   /usr/obj/usr/src/sys/GENERIC you may need to resolve that and retry the 
+   kernel build is not GENERIC in the standard place. If
+   /usr/src/sys/${CPUARCH}/compile/GENERIC does not point to
+   /usr/obj/usr/src/sys/GENERIC you may need to resolve that and retry the
    build.
 
-   There is no server package, but I am told that "make install" will put
-   server binaries in /usr/afs.
-
-   You can't run arla and OpenAFS at the same time.
-
 H  AIX notes
 
    Make sure that your default build environment is 32bit, ie.
@@ -303,6 +300,20 @@ I  Other configure options
        by the option with debugging information.  If --enable-debug is
        given, also do not strip binaries when installing them.
 
+   --enable-linux-d_splice_alias-extra-iput
+       Work around a kernel memory leak present in a few Linux kernels.
+       The only affected mainline kernels are 3.17 to 3.17.2, but this
+       switch will also be required should a distribution backport commit
+       908790fa3b779d37365e6b28e3aa0f6e833020c3 or commit
+       95ad5c291313b66a98a44dc92b57e0b37c1dd589 but not the fix in commit
+       51486b900ee92856b977eacfc5bfbe6565028070 from the linux-stable repo
+       (git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git) or
+       the corresponding changes on other branches. This is impossible to
+       detect automatically. Without this switch, the openafs module will
+       build and work even with affected kernels. But it will leak kernel
+       memory, leading to performance degradation and eventually system
+       failure due to memory exhaustion.
+
    --enable-linux-syscall-probing
        OpenAFS now uses keyrings to manage PAGs by default on Linux, which
        does not require hooking into the system call table.  On older
@@ -411,6 +422,9 @@ I  Other configure options
        the kernel headers).  The SYSNAME should be one of the options
        listed in A2.
 
+   --with-gssapi=DIR
+   --with-gssapi-include=DIR
+   --with-gssapi-lib=DIR
    --with-krb5[=DIR]
    --with-krb5-include=DIR
    --with-krb5-lib=DIR
@@ -429,6 +443,27 @@ I  Other configure options
        Autoconf can't figure out whether to use lib, lib32, or lib64 on
        your platform.
 
+       --with-gssapi is similar, except for the GSS-API libraries instead
+       of the Kerberos libraries.  If you have to manually set the
+       location of the Kerberos libraries, you may need to do the same
+       thing for the GSS-API libraries.
+
+   --with-libintl=DIR
+   --with-libintl-include=DIR
+   --with-libintl-lib=DIR
+       Specifies the install location of the libintl library, used for
+       internationalization, or separately specifies the location of the
+       header files and libraries.  By default, the default system library
+       paths will be searched.  This library is not required on many
+       platforms.
+
+   --with-roken=PATH
+   --with-roken=internal
+       Specifies the install location of the libroken library.  Specify
+       "internal" to use the embedded libroken library that comes with
+       OpenAFS (the default).  This option is primarily useful for
+       building against a system libroken library if you have one.
+
    --with-linux-kernel-build=PATH
    --with-linux-kernel-headers=PATH
    --with-bsd-kernel-build=PATH
@@ -443,10 +478,27 @@ I  Other configure options
        rather than libafs-<VERSION>.ko, which is easier to handle in Linux
        distribution init scripts.
 
+   --with-docbook2pdf=PROGRAM
+       Specifies the program used to convert the DocBook manuals to PDF.
+       Supported choices are fop, dblatex, and docbook2pdf.  By default,
+       the user's path is searched for those programs in that order, and
+       the first one found is used.
+
+   --with-docbook-stylesheets=PATH
+       The location of the DocBook style sheets, used to convert the
+       DocBook manuals to other formats.  By default, a set of likely
+       paths are searched.
+
    --with-html-xsl=PATH
+       Specifies the XSLT style sheet to convert DocBook manuals into
+       HTML.  The default is html/chunk.xsl.  You may wish to use
+       html/docbook.xsml instead.
+
    --with-xslt-processor=PROGRAM
-       Specifies the XSLT style sheet and XSLT processor to use to convert
-       the DocBook manuals into HTML.
+       Specifies the XSLT processor to use to convert the DocBook manuals
+       into HTML.  Supported choices are libxslt, saxon, xalan-j, and
+       xsltproc.  By default, the user's path is searched for those
+       programs in that order, and the first one found is used.
 
    There are also some environment variables that you can set to control
    aspects of the build.  They can be set either on the configure command