]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - INSTALL.md
SIGSEGV in CUPS web ui when adding a printer
[thirdparty/cups.git] / INSTALL.md
index 6acd9710c3b9c0d7985965e7aa278a9bd6f272e4..16ba32899afbf1188041f178f45d69cc34d5be57 100644 (file)
@@ -1,14 +1,28 @@
-INSTALL - CUPS v2.2.4 - 2017-05-01
+INSTALL - CUPS v2.3.0 - 2019-05-24
 ==================================
 
 This file describes how to compile and install CUPS from source code. For more
-information on CUPS see the file called "README.txt".  A complete change log can
-be found in "CHANGES.txt".
+information on CUPS see the file called "README.md".  A complete change log can
+be found in "CHANGES.md".
 
-> USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND PRINTER
-> DRIVERS.  THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING SYSTEM
-> DISTRIBUTION.  APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY SUPPORT SOFTWARE
-> FOR CUPS.
+Using CUPS requires additional third-party support software and printer drivers.
+These are typically included with your operating system distribution.  Apple
+does not endorse or support third-party support software for CUPS.
+
+> Note: Current versions of macOS DO NOT allow installation to /usr with the
+> default System Integrity Protection (SIP) settings.  In addition, we do not
+> recommend replacing the CUPS supplied with macOS because:
+>
+> a. not all versions of CUPS are compatible with every macOS release,
+>
+> b. code signing prevents replacement of system libraries and access to the
+>    system keychain (needed for encrypted printer sharing), and
+>
+> c. software updates will often replace parts of your local installation,
+>    potentially rendering your system unusable.
+>
+> Apple only supports using the Clang supplied with Xcode to build CUPS on
+> macOS.
 
 
 BEFORE YOU BEGIN
@@ -30,6 +44,13 @@ Windows, and either MIT (1.6.3 or higher) or Heimdal Kerberos for Kerberos
 support.  CUPS will compile and run without these, however you'll miss out on
 many of the features provided by CUPS.
 
+On a stock Ubuntu install, the following command will install the required
+prerequisites:
+
+    sudo apt-get install autoconf build-essential libavahi-client-dev \
+         libgnutls28-dev libkrb5-dev libnss-mdns libpam-dev \
+         libsystemd-dev libusb-1.0-0-dev zlib1g-dev
+
 Also, please note that CUPS does not include print filters to support PDF or
 raster printing.  You *must* download GPL Ghostscript and/or the Open Printing
 CUPS filters package separately to print on operating systems other than macOS.
@@ -45,12 +66,15 @@ main CUPS source directory.  To configure CUPS for your system, type:
 
 The default installation will put the CUPS software in the "/etc", "/usr", and
 "/var" directories on your system, which will overwrite any existing printing
-commands on your system.  Use the "--prefix" option to install the CUPS software
+commands on your system.  Use the `--prefix` option to install the CUPS software
 in another location:
 
     ./configure --prefix=/some/directory
 
-To see a complete list of configuration options, use the --help option:
+> Note: Current versions of macOS DO NOT allow installation to /usr with the
+> default System Integrity Protection (SIP) settings.
+
+To see a complete list of configuration options, use the `--help` option:
 
     ./configure --help
 
@@ -75,26 +99,20 @@ or:
     LDFLAGS="-L/some/directory" \
     ./configure ...
 
-The "--enable-debug" option compiles CUPS with debugging information enabled.
+The `--enable-debug` option compiles CUPS with debugging information enabled.
 Additional debug logging support can be enabled using the
-"--enable-debug-printfs" option - these debug messages are enabled using the
-CUPS_DEBUG_LOG environment variable at run-time.
+`--enable-debug-printfs` option - these debug messages are enabled using the
+`CUPS_DEBUG_xxx` environment variables at run-time.
 
 CUPS also includes an extensive set of unit tests that can be used to find and
 diagnose a variety of common problems - use the "--enable-unit-tests" configure
 option to run them at build time.
 
-On macOS, use the "--with-archflags" option to build with the correct set of
+On macOS, use the `--with-archflags` option to build with the correct set of
 architectures:
 
     ./configure --with-archflags="-arch i386 -arch x86_64" ...
 
-> Note: Current versions of macOS DO NOT allow installation to /usr with the
-> default system integrity settings.  In addition, we do not recommend replacing
-> the CUPS supplied with macOS because not all versions of CUPS are compatible
-> with every macOS release, and because software updates will replace parts
-> of your local installation potentially rendering your system unusable.
-
 Once you have configured things, just type:
 
     make ENTER
@@ -177,7 +195,7 @@ for FreeBSD, NetBSD, and OpenBSD.  The <format> target is one of the following:
 GETTING DEBUG LOGGING FROM CUPS
 -------------------------------
 
-When configured with the "--enable-debug-printfs" option, CUPS compiles in
+When configured with the `--enable-debug-printfs` option, CUPS compiles in
 additional debug logging support in the scheduler, CUPS API, and CUPS Imaging
 API.  The following environment variables are used to enable and control debug
 logging:
@@ -188,13 +206,14 @@ logging:
   the logging. The default level is 1.
 - `CUPS_DEBUG_LOG`: Specifies a log file to use.  Specify the name "-" to send
   the messages to stderr.  Prefix a filename with "+" to append to an existing
-  file.
+  file.  You can include a single "%d" in the filename to embed the current
+  process ID.
 
 
 REPORTING PROBLEMS
 ------------------
 
-If you have problems, READ THE DOCUMENTATION FIRST!  If the documentation does
+If you have problems, *read the documentation first*!  If the documentation does
 not solve your problems, please post a message on the users forum at:
 
     https://www.cups.org/