Windoze printers fail to print (cups 1.3.11). cups 1.3.9 failed to print with "No pages found" but 1.3.11 fails silently. error.log shows "/usr/bin/gs: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory". Creating a soft link from libjpeg.so.62 to libjpeg.so.8 causes "GPL Ghostscript 8.71: Unrecoverable error, exit code 1" Reproducible: Always Actual Results: Windoze Test Page Expected Results: Nothing except error logs Love Gentoo
Portage 2.1.8.3 (default/linux/x86/10.0/server, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.27-gentoo-r8 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r8-i686-VIA_Esther_processor_1500MHz-with-gentoo-1.12.11.1 Timestamp of tree: Thu, 24 Jun 2010 17:00:01 +0000 distcc 3.0 i686-pc-linux-gnu [enabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p39 dev-lang/python: 2.4.4-r13, 2.5.2-r7, 2.6.5-r2 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc: 4.1.2, 4.3.4 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distcc distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl apache2 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm grub iconv jpeg ldap modules mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl php png pppd python readline reflection samba session snmp spl ssl symlink sysfs syslog tcpd truetype unicode vhosts x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest authn_file" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
You should run revdep-rebuild to fix broken dynamic links. Please reopen if the issue persist after revdep-rebuild.
revdep-rebuild done. Still same result.
It is /use/bin/gs that is doing the complaining
Did you remove your symlink before that rebuild ? Run it as 'revdep-rebuild -L libjpeg.so.62'.
(In reply to comment #5) > Did you remove your symlink before that rebuild ? > Run it as 'revdep-rebuild -L libjpeg.so.62'. > I removed the symlink and did revdep-rebuild --library libjpeg (or libjpeg.so) but I did not do libjpeg.so.62 I'll give that a try. since raising this bug I have run emerge --update world so I'll see if that cures it. if not I'll try your suggestion.
OK update didn't work but revdep-rebuild did. This was probably due to http-replicator being broken (solved now). Now when I print cups logs (debug level) reports "GPL Ghostscript 8.71 Unrecoverable error, exit code 1" Oh! that helps. It doesn't say anthing else about this in the logs. Later ion the logs there is the now usual "No Pages Found!" emerge --info is now: Portage 2.1.8.3 (default/linux/x86/10.0/server, gcc-4.3.4, glibc-2.11.1-r0, 2.6.27-gentoo-r8 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r8-i686-VIA_Esther_processor_1500MHz-with-gentoo-1.12.11.1 Timestamp of tree: Sat, 26 Jun 2010 02:00:02 +0000 distcc 3.0 i686-pc-linux-gnu [enabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p39 dev-lang/python: 2.4.4-r13, 2.5.2-r7, 2.6.5-r2 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc: 4.1.2, 4.3.4 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distcc distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl apache2 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm grub iconv jpeg ldap modules mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl php png pppd python readline reflection samba session snmp spl ssl symlink sysfs syslog tcpd truetype unicode vhosts x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest authn_file" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Perhaps there is another dependency that needs updated. Does 'ldd /usr/bin/gs' show all libraries resolved? What happens when you try to run /usr/bin/gs on the command line?
(In reply to comment #8) > Perhaps there is another dependency that needs updated. > Does 'ldd /usr/bin/gs' show all libraries resolved? > What happens when you try to run /usr/bin/gs on the command line? > /usr/bin/gs opens without complaint and obeys the only command I tried which was quit. ldd /usr/bin/gs reports: linux-gate.so.1 => (0xb8097000) libjasper.so.1 => /usr/lib/libjasper.so.1 (0xb803e000) libcupsimage.so.2 => /usr/lib/libcupsimage.so.2 (0xb8024000) libcups.so.2 => /usr/lib/libcups.so.2 (0xb7fed000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7f90000) libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xb7f57000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7f12000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7dc7000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7dae000) libm.so.6 => /lib/libm.so.6 (0xb7d88000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7d56000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7d30000) libz.so.1 => /lib/libz.so.1 (0xb7d1d000) libdl.so.2 => /lib/libdl.so.2 (0xb7d19000) libpaper.so.1 => /usr/lib/libpaper.so.1 (0xb7d15000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libstdc++.so.6 (0xb7c29000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7bfe000) libc.so.6 => /lib/libc.so.6 (0xb7ab4000) /lib/ld-linux.so.2 (0xb8098000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1 (0xb7aa6000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7a1f000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb79f8000) So it looks to me that everything is linked correctly. Unfortunatey I can't get cups to do any deeper loging. loglevel = debug is it and Unrecoreable error is all I get as before.
Ghostscript appears to be working as of Comment #9. The rest is chaff. I set up a printer class called Colour set it to use my Brother MFC490CW and it failed with Ghostscript reporting Unexpected error. Make Colour use the Samsung CPL310 and it works. So it must ne an error in the Brother's wrapper scripts. Thank you all.
Definitely a problem with ghostscript.
(In reply to comment #11) Definitely a problem with ghostscript. The reason for the failure is that Ghostscript or more particularly /usr/bin/gs is not very good at shutting up and staying quiet. In the most part it is ok but give it a big file or one at least that it's got to chew on for a bit and it pukes a little. As a result the Brother supplied binary chokes on it closing the pipe. Funny that! The output format ppmraw is required by the Brother supplied binary that chats to the printer. The first line of a ppm format file must be P3 or P6 according to the web. However, gs adds %% Ghostscript blah blah ..%% which is a bit of postscript getting through and puts P6 on the next line down. Fail! The workaround is to edit the parameters passed to gs. from: GHOST_OPT="-q -dNOPROMPT -dNOPAUSE -dSAFER -sDEVICE=ppmraw -sOutputFile=- - -c quit" to: GHOST_OPT="-q -dQUIET -dNOPROMPT -dNOPAUSE -dSAFER -sDEVICE=ppmraw -sstdout=/dev/null -sOutputFile=- - -c quit" Note that it is case sensitive. The additional -dQUIET is probably superfluous as it is what -q is supposed to do but I stuck it in to ram the point home. -sstdout=/dev/null is the baby doing the work probably.
We can't fix a "Brother supplied binary", if it passes wrong or suboptimal commandline parameters to ghostscript there's nothing we can do. If you want ghostscript behaviour to change your best bet is to file an upstream bug at the official ghostscript bugtracker.
(In reply to comment #13) > We can't fix a "Brother supplied binary", if it passes wrong or suboptimal > commandline parameters to ghostscript there's nothing we can do. If you want > ghostscript behaviour to change your best bet is to file an upstream bug at the > official ghostscript bugtracker. > There are still bug reports about this still open right from 8.10. It's not the binary that is passing the parameters its just the recipient of the output. /usr/bin/gs should have been silenced by the -q parameter. Oh well! Thanks anyway.