官术网_书友最值得收藏!

Downloading Source Code

Today, most of the UNIX and Linux distributions install CUPS by default. CUPS requires ANSI-compliant C and C++ compilers, a Make program and Bourne shell. The GNU compiler tools also work well with CUPS.

CUPS has been tested with GNU Make as well as the other Make programs shipped by Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake). The latest version of CUPS can be downloaded from http://www.cups.org/software.php. The current stable version of CUPS is 1.3.8.

Apart from these tools, we also require support for the following libraries that provides additional functionality for printing service. CUPS mainly supports two libraries:

  • CUPS imaging library
  • CUPS library

The CUPS imaging library consists of libraries for JPEG, PNG, TIFF, ZLIB, and so on, and it is used for images support.

The CUPS library contains CUPS-specific functions that support the use of CDSA, GNU TLS, and the OpenSSL libraries for encryption. We will discuss these in details in Chapter 10, on Security. For the directory service, you can use the OpenLDAP and the OpenSLP libraries.

You can find a mirror of CUPS related libraries which is maintained by Easy Software Products at:

ftp://ftp.easysw.com/pub/libraries.

Note

CUPS can easily compile and run without above libraries. However, you will miss out on many of the features provided by CUPS.

If any changes need to be made in the man pages, you will need GNU Troff (Groff) or another nroff-like package. Groff is available at ftp://ftp.gnu.org/gnu/groff/.

The documentation is formatted using the HTMLDOC software. If you need to make changes, you can get the HTMLDOC software from http://www.htmldoc.org/index.php.

Compiling CUPS

The source code of CUPS is available in two formats:

  • Gnu zip— with .gz extension
  • bzip2— with .bz2 extension

Once you download the source code for the CUPS, it must be extracted using the following command:

#tar -xvf cups-1.3.8-source.tar.gz 

Or

#tar xvjf cups-1.3.8-source.tar.bz2 

In the example above, cups-1.3.8-source.tar.gz is the source code of CUPS in a .gz format. To compile the source code, we need to go to the CUPS source directory which has just been created.

#cd cups-1.3.8 

CUPS uses GNU Autoconf to configure the Makefiles and source code for your system. Type the following command to configure CUPS for your system:

#./configure 

The default installation will put the CUPS software in the /etc, /usr, and /var directories on your system, which will overwrite all existing print commands on your system.

You can also use the --prefix option to install the CUPS software in another location:

#./configure --prefix=/some/directory 

You can see a complete list of configuration options using the --help option:

#./configure -help 

If the PNG, JPEG, TIFF, and ZLIB libraries are not installed in a system in the default location (typically /usr/include and /usr/lib), we need to set the CFLAGS,CPPFLAGS, CXXFLAGS, DSOFLAGS and LDFLAGS environment variables prior to configuration:

setenv CFLAGS "-I/any/dir" setenv CPPFLAGS "-I/any/dir" setenv CXXFLAGS "-I/any/dir" setenv DSOFLAGS "-Lany/dir" setenv LDFLAGS "-L/any/dir" ./configure 

Or

CFLAGS="-I/any/dir" \ CPPFLAGS="-I/any/dir" \ CXXFLAGS="-I/any/dir" \ DSOFLAGS="-L/any/dir" \ LDFLAGS="-L/any/dir" \ ./configure 

To enable support for encryption, you will need to add the --enable-ssl option:

#./configure --enable-ssl 

SSL and TLS support requires the OpenSSL library, which is available at http://www.openssl.org.

If the OpenSSL headers and libraries are not installed in the standard directories, you can configure them using --with-openssl-includes and --with-openssl-libs options:

#./configure --enable-ssl \ --with-openssl-includes=/foo/bar/include \ --with-openssl-libs=/foo/bar/lib 

Once the configuration is done, you can start building the software by using the following command:

#make 

If you are using FreeBSD, NetBSD, or OpenBSD systems, use the following command instead:

#gmake 
主站蜘蛛池模板: 阿巴嘎旗| 利辛县| 周宁县| 新竹市| 保定市| 固镇县| 绩溪县| 沙湾县| 格尔木市| 和田市| 新余市| 正镶白旗| 伽师县| 扬中市| 昔阳县| 西贡区| 沁阳市| 龙海市| 肃宁县| 龙陵县| 民权县| 隆化县| 通许县| 宁南县| 邛崃市| 龙口市| 德钦县| 龙井市| 遵义市| 岑巩县| 葵青区| 和平区| 鹤岗市| 宁远县| 鄯善县| 宁河县| 台州市| 盐城市| 惠来县| 涟源市| 交口县|