# HP Linux Imaging and Printing (HPLIP)

About
- Features
- Screenshots
- FAQs
Setup and Installation
- System Requirements
- Supported Devices
- Downloads
- Installation Instructions
Usage and Support
- Mailing Lists
- How-Tos
- Troubleshooting
- Release Notes
Resources
- Technical Documentation
- Sourceforge Project Page
- Software License
- Other Support Information
- About HPLIP
- Contacts

Home > Technical Documentation > Portablity Reference

# Technical Documentation: Portablity Reference

HPLIP uses GNU Autotools for building and installing. GNU Autotools simplify most portability issues automatically, but some customization may be desirable. This section documents different configuration options that are available and some caveats for building HPLIP on different distributions and platforms.

This information is useful for package maintainers and users who want to build and install HPLIP from the source tar ball. Most users don't not need to build from source code and should get the latest HPLIP package from their distribution.

This section assumes all System Requirements have been met and any pre-existing HPLIP install uses the same "./configure --prefix=/usr" parameters. For more detailed install instructions see Installation Instructions .

The top level master makefile will compile and install HPLIP using the following instructions.

    tar xzvf hplip-0.9.x.tar.gz
    cd hplip-0.9.x
    ./configure --prefix=/usr
    make
    make install
    /etc/init.d/hplip restart

If HPLIP built and installs correctly you should get the following response. Note, our example assumes hpiod and hpssd were already running.

    Stopping hpiod:                                            [  OK  ]
    Stopping hpssd:                                            [  OK  ]
    Starting hpiod:                                            [  OK  ]
    Starting hpssd:                                            [  OK  ]

Now we must restart cupsd in order to let CUPS see the new "hp" backend:

    /etc/init.d/cups restart

Caveats

1. Network support requires libsnmp. HPLIP can be build without network support. At configure time use the following command.

    ./configure --prefix=/usr --disable-network-build

2. The HPLIP startup/shutdown script is Red Hat (chkconfig) and LSB (install_initd) compliant. If your distribution is not compliant the script may not work.
3. In order to get HPLIP to compile with libsnmp on SUSE 9.1 you need add the following symlink for libcrypto.

    ln -s /usr/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so

4. For distribution package managers the following ./configure options are available. This allows the package manager to configure these options.

    --disable-rpm-install        disables sane, icon, /etc/hp and /etc/init.d install (default = disabled)
    --disable-foomatic-install   disables foomatic install (HPIJS option, default = enabled)
    --disable-cups-install       disables cups install (HPIJS option, default = enabled)
    --disable-network-build      disables building network support, will not link with libsnmp (default = enabled)
    --disable-pp-build           disables building parallel port support (default = enabled)

5. The HPLIP startup script must be executed before the CUPS startup script at boot time.
6. For Mandrake be sure to include the net-snmp-mibs package for network support.
7. In order to run the HP Device Manager, PyQt needs to be installed. Also Fedora C3 requires the "sip" module, see the following Fedora C3 instructions.

    yum install PyQt
    yum install sip

8. In SUSE 9.2 and above PyQt is now part of kdebindings3-python.
9. In order to run HPLIP with Fedora C4 you must disable SELinux protection. Under "Security Level Configuration", select SELinux tab, un-click "Enforcing Current:Permissive". The default SELinux policies will conflict with HPLIP I/O. If you want to run with SELinux enabled install the FC4 HPLIP rpm available at RH.
10. HPLIP can be uninstalled with the "make uninstall" command.
11. With FC4 64-bit systems use must use "./configure --prefix=/usr --libdir=/usr/lib64" in order to get libsane-hpaio installed correctly.

# HPIJS Portability Reference

The previous section installed the complete HPLIP package which includes HPIJS. HPIJS has it's own Makefile which is called by the HPLIP master Makefile. HPIJS predates HPLIP and some distributions package HPIJS separately. Since HPLIS has a separate makefile, HPIJS can be built and installed separately from HPLIP. HPIJS has it's own configuration options.

The HPIJS "prnt/hpijs/Makefile" will compile and install HPIJS using the following instructions. Note, you must not use the top level HPLIP Makefile.

    tar xzvf hpip-0.9.x.tar.gz
    cd hplip-0.9.x/prnt/hpijs
    ./configiure --prefix=/usr
    make
    make install

Now we must restart cupsd in order to cause the CUPS daemon to re-read all the PPD files in the PPD directory.

    /etc/init.d/cups restart

You can verify HPIJS was build and installed correctly with the following command.

    hpijs -h

    Hewlett-Packard Co. Inkjet Server 2.x
    Copyright (c) 2001-2006, Hewlett-Packard Co.

Caveats

1. For distribution package managers the following ./configure options are available for HPIJS.

    --disable-foomatic-install   disables foomatic install (default = enabled)
    --disable-cups-install       disables cups install (default = enabled)

    Foomatic install - (1) copy HP HPIJS PPD files to /(prefix)/share/ppd/HP (2) copy foomatic-rip to /(prefix)/bin (3) gzip all PPD files.

    CUPS install - (1) remove any old HP HPIJS PPD files from the CUPS PPD directory (2) symlink the HP HPIJS PPD files to the CUPS PPD directory
                   (3) symlink foomatic-rip to the CUPS filter directory.

2. If you are building Ghostscript from scratch and gs gets a missing font error message, try the following symbolic link. Ghostscript looks for fonts in hardcoded directories, see GS_LIB_DEFAULT in the Ghostscript Makefile. For Red Hat the following symbolic link will allow Ghostscript to find fonts with out modifying the makefile. Other distributions may have different font directories.

    # ln -s /usr/share/fonts/default/Type1 /usr/share/ghostscript/fonts

Last update: Mon May 1 18:03:34 2006