I had much trouble compiling LPRng (trailing backslashes were not to make's taste); now that it is installed, I can't print because I don't have permission, even when I am root.
My printer is USB, I can print files if I cat to /udev/lp0, but using this device in /etc/printcap doesn't work; I get this in /var/spool/lpd/lp:
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: setstatus: msg 'opening device '/udev/lp0''
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: Printer_open: device '/udev/lp0', max_attempts 3, grace 0, interval 10, max_interval 60
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 0 'Permission denied'
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 1, sleeping 10'
2007-10-14-16:23:42.110 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 1 'Permission denied'
2007-10-14-16:23:42.110 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 2, sleeping 20'
2007-10-14-16:24:02.115 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 2 'Permission denied'
2007-10-14-16:24:02.115 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 3, sleeping 40'
Any help? Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I changed permissions to root/lp for /dev/usb/lp0 (I can access the printer through this device too when I cat directly to it); however nothing changed, I still have the 'permission denied' message.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
that is very wired to say at least. It means that the execution environment is very different from that in the shell.
Is it possible that your filter/backend works inside a chroot environment ? (perhaps the whoel lpd ?)
re
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I tried to su to daemon (the user that owns lpd) and when I try to run gs under this account I get
gs: error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
so this is definitely an environment problem; however daemon's home is /sbin, and it has no shell defined in /etc/passwd; how can I modify its environment so that I can modify LD_DIRECTORY_PATH?
When I ldd /usr/bin/gs as daemon, it gives
$ ldd /usr/bin/gs
libXt.so.6 => not found
libSM.so.6 => not found
libICE.so.6 => not found
libXext.so.6 => not found
libX11.so.6 => not found
libdl.so.2 => /lib64/tls/libdl.so.2 (0x00002ac67ce0c000)
libm.so.6 => /lib64/tls/libm.so.6 (0x00002ac67cf0f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002ac67d096000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00002ac67d287000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00002ac67d3c5000)
/lib64/ld-linux-x86-64.so.2 (0x00002ac67ccf4000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00002ac67d601000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00002ac67d70d000)
libexpat.so.0 => /usr/lib64/libexpat.so.0 (0x00002ac67d897000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002ac67d9ba000)
I tried symlinking from /usr/lib64 to the X libs, but it doesn't seem to work...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello.
I've set up LPRng-3.8.32 with apsfilter.
I had much trouble compiling LPRng (trailing backslashes were not to make's taste); now that it is installed, I can't print because I don't have permission, even when I am root.
My printer is USB, I can print files if I cat to /udev/lp0, but using this device in /etc/printcap doesn't work; I get this in /var/spool/lpd/lp:
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: setstatus: msg 'opening device '/udev/lp0''
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: Printer_open: device '/udev/lp0', max_attempts 3, grace 0, interval 10, max_interval 60
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 0 'Permission denied'
2007-10-14-16:23:32.113 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 1, sleeping 10'
2007-10-14-16:23:42.110 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 1 'Permission denied'
2007-10-14-16:23:42.110 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 2, sleeping 20'
2007-10-14-16:24:02.115 swift [4876] (Worker - Print) lp: Printer_open: open '/udev/lp0' failed, max_attempts 3, attempt 2 'Permission denied'
2007-10-14-16:24:02.115 swift [4876] (Worker - Print) lp: setstatus: msg 'cannot open '/udev/lp0' - 'Permission denied', attempt 3, sleeping 40'
Any help? Thanks.
Hello Delente,
please check the user/group permissions for /udev/lp0. lprng will access them with its own rights (lp/daemon something like that).
please post if you have success
I changed permissions to root/lp for /dev/usb/lp0 (I can access the printer through this device too when I cat directly to it); however nothing changed, I still have the 'permission denied' message.
that is strange. my lp0 looks like this:
$ll /dev/lp0
crw-rw---- 1 root lp 6, 0 2002-09-09 22:24 /dev/lp0
while lpd is running as user lp
$ps uU lp
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
lp 6262 0.0 0.0 3268 220 ? S< Sep13 3:33 lpd Waiting
does the same thing happen when you try the latest RC from sourceforge.net ?
(just compile and replace the lpd should work)
It was LPRng-3.8.32 that showed this behavior.
I downloaded and installed 3.8.29-RC5 instead, now /dev/usb/lp0 has been set to
crw-rw---- 1 daemon daemon 180, 0 2001-03-25 23:04 /dev/usb/lp0
but I still can't print; apparently apsfilter has a problem with gs, since it can't find libX.so.6 (however gs works fine on the command line?)
Still no go, in /var/spool/lpd/lp I get errors that /usr/bin/gs can't read libXt.so.6:
'/usr/bin/gs: error while loading shared libraries: libXt.so.6: cannot open shared object file: Permission denied'
even though gs works ok the rest of the time.
Help?
that is very wired to say at least. It means that the execution environment is very different from that in the shell.
Is it possible that your filter/backend works inside a chroot environment ? (perhaps the whoel lpd ?)
re
su to the user that lprng is running as and then see if gs runs.
Also what does "ldd /usr/bin/gs" Give you?
Sorry for taking so long to respond.
I tried to su to daemon (the user that owns lpd) and when I try to run gs under this account I get
gs: error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
so this is definitely an environment problem; however daemon's home is /sbin, and it has no shell defined in /etc/passwd; how can I modify its environment so that I can modify LD_DIRECTORY_PATH?
When I ldd /usr/bin/gs as daemon, it gives
$ ldd /usr/bin/gs
libXt.so.6 => not found
libSM.so.6 => not found
libICE.so.6 => not found
libXext.so.6 => not found
libX11.so.6 => not found
libdl.so.2 => /lib64/tls/libdl.so.2 (0x00002ac67ce0c000)
libm.so.6 => /lib64/tls/libm.so.6 (0x00002ac67cf0f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002ac67d096000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00002ac67d287000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00002ac67d3c5000)
/lib64/ld-linux-x86-64.so.2 (0x00002ac67ccf4000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00002ac67d601000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00002ac67d70d000)
libexpat.so.0 => /usr/lib64/libexpat.so.0 (0x00002ac67d897000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002ac67d9ba000)
I tried symlinking from /usr/lib64 to the X libs, but it doesn't seem to work...
Ok, I think I found it, it was an access problem on a directory... thanks for the help!