CUPS Dependancies - Slackware

This is a discussion on CUPS Dependancies - Slackware ; I would like to use CUPS on an older machine with a very small HD and no X. Does anyone out there know (off hand) which other packages need to be installed to get CUPS to work properly? I do ...

+ Reply to Thread
Results 1 to 14 of 14

Thread: CUPS Dependancies

  1. CUPS Dependancies

    I would like to use CUPS on an older machine with a very small HD and no X.
    Does anyone out there know (off hand) which other packages need to be
    installed to get CUPS to work properly?

    I do know it needs the perl and cyrus-sasl packages, but I have no idea
    which xorg packages it uses...and my machine has very limited HD space.

  2. Re: CUPS Dependancies

    dmiller wrote:
    > I would like to use CUPS on an older machine with a very small HD and no X.
    > Does anyone out there know (off hand) which other packages need to be
    > installed to get CUPS to work properly?
    >
    > I do know it needs the perl and cyrus-sasl packages, but I have no idea
    > which xorg packages it uses...and my machine has very limited HD space.


    what makes you think it needs X at all?

    --
    Joost Kremers joostkremers@yahoo.com
    Selbst in die Unterwelt dringt durch Spalten Licht
    EN:SiS(9)

  3. Re: CUPS Dependancies

    Joost Kremers writes:

    >
    > what makes you think it needs X at all?
    >


    I had to install the xorg package to get it working on other machines.
    Without the xorg package, CUPS would not work properly (or at all). That
    was with Slackware 10 and 11. I was just assuming it was the same deal with
    12.

    The xorg packages are split up now, so I was just hoping someone knew which
    package(s) I need.

  4. Re: CUPS Dependancies

    dmiller wrote:

    > Does anyone out there know (off hand) which other packages need to be
    > installed to get CUPS to work properly?


    Try the following shell script (appended below my signature), which I
    just whipped up, on a different system where you do have cups installed
    and running, to see what other packages it seems to depend on.

    Run on a Slackware-12.0 system here, it produces the following output:

    : tecra[syl] ~; src/slackware/listdeps.sh cups
    aaa_elflibs-12.0.0-i486-3
    acl-2.2.39_1-i486-2
    attr-2.4.32_1-i486-2
    cups-1.2.11-i486-2_slack12.0
    dbus-1.0.2-i486-3
    openssl-0.9.8e-i486-3
    openssl-solibs-0.9.8e-i486-3
    zlib-1.2.3-i486-2

    I hope that helps ... (I welcome improvements to the script, of course,
    but I whipped that up quickly in preparation to followup to dmiller's
    post)

    --
    ----------------------------------------------------------------------
    Sylvain Robitaille syl@alcor.concordia.ca

    Systems and Network analyst Concordia University
    Instructional & Information Technology Montreal, Quebec, Canada
    ----------------------------------------------------------------------

    #!/bin/sh

    # listdeps.sh: list dependacies of an installed package on Slackware
    # Linux

    # 2007/12/03 Sylvain Robitaille.

    if [ ! -r /etc/slackware-version ]; then
    echo "This program should run on a recent Slackware Linux system"
    exit 1
    fi

    if [ $# -lt 1 ]; then
    echo "usage: `basename $0` packagename [...]"
    exit 1
    fi

    # Create unique tempfiles: NOTE this method *could* lose a race,
    # but is good enough for most non-root use ...
    tmpfile1=/tmp/`basename $0`.`date +%Y%m%d.%H%M%S`.$$
    while [ -e $tmpfile1 ]; do
    sleep 1
    tmpfile1=/tmp/`basename $0`.`date +%Y%m%d.%H%M%S`.$$
    done
    touch $tmpfile1
    chmod 700 $tmpfile1

    tmpfile2=/tmp/`basename $0`.`date +%Y%m%d.%H%M%S`.$$
    while [ -e $tmpfile2 ]; do
    sleep 1
    tmpfile2=/tmp/`basename $0`.`date +%Y%m%d.%H%M%S`.$$
    done
    touch $tmpfile2
    chmod 700 $tmpfile2

    # List dependancies of all requested packages:
    while [ $1 ]; do
    [ -f /var/adm/packages/$1-[0-9].* ] && \
    ldd `grep -h bin/ /var/adm/packages/$1-[0-9].* |\
    grep -v '/$' |\
    sed 's%^%/%'` 2>/dev/null |\
    grep -v ^/ |\
    awk '{print $3}' |\
    grep ^/ |\
    sed 's%^/%%' |\
    sort -u >> $tmpfile1
    shift
    done

    for l in `cat $tmpfile1`; do
    grep -rl $l /var/adm/packages |\
    sed 's%^/var/adm/packages/%%' >> $tmpfile2
    done

    sort -u $tmpfile2
    rm $tmpfile1 $tmpfile2


  5. Re: CUPS Dependancies

    syl@alcor.concordia.ca wrote:
    > dmiller wrote:
    >
    >> Does anyone out there know (off hand) which other packages need to be
    >> installed to get CUPS to work properly?

    >
    > Try the following shell script (appended below my signature), which I
    > just whipped up, on a different system where you do have cups installed
    > and running, to see what other packages it seems to depend on.
    >
    > Run on a Slackware-12.0 system here, it produces the following output:
    >
    > : tecra[syl] ~; src/slackware/listdeps.sh cups
    > aaa_elflibs-12.0.0-i486-3
    > acl-2.2.39_1-i486-2
    > attr-2.4.32_1-i486-2
    > cups-1.2.11-i486-2_slack12.0
    > dbus-1.0.2-i486-3
    > openssl-0.9.8e-i486-3
    > openssl-solibs-0.9.8e-i486-3
    > zlib-1.2.3-i486-2


    But I know cups needs LDAP (openldap-client) on my Slackware 12.0 system.
    When I run your neat script on my Slackware 12 system, it does report
    'openldap-client', and it does not report 'acl'. Cups (cups-1.2.11-i486-2)
    would not run on my system until I installed openldap-client, yet I don't
    have the 'acl' package installed, and it works. Confused...

  6. Re: CUPS Dependancies

    Le Mon, 03 Dec 2007 16:17:42 -0500, dmiller a √©crit¬*:

    > I would like to use CUPS on an older machine with a very small HD and no
    > X. Does anyone out there know (off hand) which other packages need to be
    > installed to get CUPS to work properly?
    >
    > I do know it needs the perl and cyrus-sasl packages, but I have no idea
    > which xorg packages it uses...and my machine has very limited HD space.


    I had this very same problem on a headless ( = no X11) server that I
    wanted to use as printer and scanner server. I solved the problem by
    installing fontconfig and every libX***** from X. I sometimes wonder how
    I could fine-tune that, but this is one of the many problems whose
    solution will have to wait for after when I'm dead D

    cheers,

    Niki

  7. Re: CUPS Dependancies

    ljb wrote:

    > But I know cups needs LDAP (openldap-client) on my Slackware 12.0
    > system.


    That would surprise me, as I don't have the LDAP client installed on MY
    system ...

    > When I run your neat script on my Slackware 12 system, it does report
    > 'openldap-client', and it does not report 'acl'. ...


    Can you quote the exact output of the script? It's entirely possible
    that it is finding the components it needs (notice that there is no
    check in my script for an un-met dependancy) without the acl package.

    > Cups (cups-1.2.11-i486-2) would not run on my system until I installed
    > openldap-client, yet I don't have the 'acl' package installed, and it
    > works. Confused...


    Note that my script runs "ldd" against all files in a directory ending
    in "bin/" in the requested package(s), then tries to find which
    package(s) contain the libraries listed in that output. I'm not near
    either of my 12.0 systems now, or else I'd check to see exactly what it
    is finding in the acl package that is listed in the ldd output, but I
    wouldn't be surprised if it was only a (perhaps unused) single command
    in the cups package that used something out of the acl package.

    My script wasn't intended to be a "dependancy tracker"; It was simply
    meant to be a quick way to find which other (installed) packages a given
    (installed) package was likely to depend on, in response to the original
    post in this thread. If you don't have the acl package installed,
    that explains why my script isn't listing it on your system.

    --
    ----------------------------------------------------------------------
    Sylvain Robitaille syl@alcor.concordia.ca

    Systems and Network analyst Concordia University
    Instructional & Information Technology Montreal, Quebec, Canada
    ----------------------------------------------------------------------

  8. Re: CUPS Dependancies

    Niki Kovacs wrote:

    > ... I solved the problem by installing fontconfig and every libX*****
    > from X. ...


    Hrmmm ... right; there are various binaries under /usr/lib/cups/ that
    require additional packages not listed by the script I whipped up
    earlier ... I may removed the check for "bin/" and just let ldd run on
    every file, and ignore its "not a dynamic executable" output ...

    --
    ----------------------------------------------------------------------
    Sylvain Robitaille syl@alcor.concordia.ca

    Systems and Network analyst Concordia University
    Instructional & Information Technology Montreal, Quebec, Canada
    ----------------------------------------------------------------------

  9. Re: CUPS Dependancies

    dmiller wrote:
    > Joost Kremers writes:
    >>
    >> what makes you think it needs X at all?

    >
    > I had to install the xorg package to get it working on other machines.
    > Without the xorg package, CUPS would not work properly (or at all). That
    > was with Slackware 10 and 11. I was just assuming it was the same deal with
    > 12.


    it's hard to imagine a print server needing X at all... perhaps it's just
    the fonts that cups needs, that wouldn't be entirely unimaginable. ;-)

    it might be worth your while to try and figure out what goes wrong with
    cups when X is not installed.


    --
    Joost Kremers joostkremers@yahoo.com
    Selbst in die Unterwelt dringt durch Spalten Licht
    EN:SiS(9)

  10. Re: CUPS Dependancies

    Sylvain Robitaille wrote:
    > ljb wrote:
    >
    >> But I know cups needs LDAP (openldap-client) on my Slackware 12.0
    >> system.

    >
    > That would surprise me, as I don't have the LDAP client installed on MY
    > system ...
    >
    >> When I run your neat script on my Slackware 12 system, it does report
    >> 'openldap-client', and it does not report 'acl'. ...

    >
    > Can you quote the exact output of the script? It's entirely possible
    > that it is finding the components it needs (notice that there is no
    > check in my script for an un-met dependancy) without the acl package.


    I didn't try your script, but just did a ld on /usr/sbin/cupsd and it
    shows libldap in it (this is on Slackware 12.0 with
    cups-1.2.11-i486-2_slack12.0:

    smasta@slink:sbin $ ldd cupsd
    linux-gate.so.1 => (0xffffe000)
    libz.so.1 => /usr/lib/libz.so.1 (0xb7f5c000)
    libssl.so.0 => /usr/lib/libssl.so.0 (0xb7f1c000)
    libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7dde000)
    libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7da9000)
    libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb7d77000)
    libacl.so.1 => /lib/libacl.so.1 (0xb7d70000)
    libcups.so.2 => /usr/lib/libcups.so.2 (0xb7d47000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xb7d30000)
    libm.so.6 => /lib/libm.so.6 (0xb7d09000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7cdb000)
    libc.so.6 => /lib/libc.so.6 (0xb7b99000)
    libdl.so.2 => /lib/libdl.so.2 (0xb7b95000)
    liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7b88000)
    libresolv.so.2 => /lib/libresolv.so.2 (0xb7b75000)
    libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7b5e000)
    libattr.so.1 => /lib/libattr.so.1 (0xb7b5a000)
    /lib/ld-linux.so.2 (0xb7f81000)

    >
    >> Cups (cups-1.2.11-i486-2) would not run on my system until I installed
    >> openldap-client, yet I don't have the 'acl' package installed, and it
    >> works. Confused...

    >
    > Note that my script runs "ldd" against all files in a directory ending
    > in "bin/" in the requested package(s), then tries to find which
    > package(s) contain the libraries listed in that output. I'm not near
    > either of my 12.0 systems now, or else I'd check to see exactly what it
    > is finding in the acl package that is listed in the ldd output, but I
    > wouldn't be surprised if it was only a (perhaps unused) single command
    > in the cups package that used something out of the acl package.


    > My script wasn't intended to be a "dependancy tracker"; It was simply
    > meant to be a quick way to find which other (installed) packages a given
    > (installed) package was likely to depend on, in response to the original
    > post in this thread. If you don't have the acl package installed,
    > that explains why my script isn't listing it on your system.
    >


    libacl.so.1.1.0 exists in both aaa_elflibs-12.0.0-i486-3 and
    acl-2.2.39_1-i486-2

    Steve

  11. Re: CUPS Dependancies

    Steven J Masta wrote:

    > I didn't try your script, but just did a ld on /usr/sbin/cupsd and it
    > shows libldap in it ...


    Uhhh... You're right. That doesn't show up in the output from my
    script because as I mentioned in an earlier message, the script isn't
    trying to identify missing dependancies. Hrmmm... Indeed (contrary to
    what I believed yesterday) I am unable to start cupsd on this system,
    due to the missing library.

    --
    ----------------------------------------------------------------------
    Sylvain Robitaille syl@alcor.concordia.ca

    Systems and Network analyst Concordia University
    Instructional & Information Technology Montreal, Quebec, Canada
    ----------------------------------------------------------------------

  12. Re: CUPS Dependancies

    syl@alcor.concordia.ca wrote:
    >...
    > Uhhh... You're right. That doesn't show up in the output from my
    > script because as I mentioned in an earlier message, the script isn't
    > trying to identify missing dependancies...


    Here's a quick script I use. Different goal, though: it checks all the
    files named on the command line and reports any MISSING libraries.
    I use it like this: check-missing-libs /bin/*
    after installing, because I hate finding out about missing stuff later
    when I try to run something.

    #!/bin/sh
    # check-missing-libs 8/2007 ljb - Check for missing dependency libraries.
    # For each, report those with missing libraries.
    if [[ $# -eq 0 ]]
    then
    echo >&2 "Usage: $0 program..."
    exit 1
    fi
    for prog
    do
    # Skip links quietly, directories with message:
    [[ -L $prog ]] && continue
    [[ -d $prog ]] && { echo "Note: Skipped directory $prog"; continue; }
    r=$(ldd $prog | grep 'not found') && echo -e "Missing libs: $prog\n$r"
    done

  13. Re: CUPS Dependancies

    Le Tue, 04 Dec 2007 06:02:28 -0500, dmiller a √©crit¬*:
    >
    > It works with your suggestion. Maybe I'll remove one by one until it
    > breaks and post back.
    >


    I'm currently working through LFS and BLFS again. Did that some time ago,
    but I think it's the best way to learn to fine-tune such installs.

    cheers,

    Niki


  14. Re: CUPS Dependancies

    Niki Kovacs wrote:

    > dmiller wrote:
    >
    > > I would like to use CUPS on an older machine with a very small HD and no
    > > X. Does anyone out there know (off hand) which other packages need to be
    > > installed to get CUPS to work properly?
    > >
    > > I do know it needs the perl and cyrus-sasl packages, but I have no idea
    > > which xorg packages it uses...and my machine has very limited HD space.

    >
    > I had this very same problem on a headless ( = no X11) server that I
    > wanted to use as printer and scanner server. I solved the problem by
    > installing fontconfig and every libX***** from X. I sometimes wonder how
    > I could fine-tune that, but this is one of the many problems whose
    > solution will have to wait for after when I'm dead D


    I also have a headless 486 print server running Slack 10.2, and ran in to the
    same problems as both of you. CUPS uses Ghostscript tools, but Ghostscript
    needs libXt.so.6. In my case, I had no use for X on this server as I do
    everything by SSH, but the good news is that you don't need to install X to get
    CUPS running. Here's the solution from The Man himself:

    the espgs package also includes a "gs-no-x11" binary, but this needs to be
    moved into place manually for CUPS to use it. If you find any other X11
    dependencies in running a print server like yours, please let me know.
    Depending on X11 libraries for most server uses is something that I've
    tried hard to avoid. Anyway, I think in your case that moving this one
    file may solve the issue at hand.

+ Reply to Thread