Linux - DistributionsThis forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on...
Note: An (*) indicates there is no official participation from that distribution here at LQ.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
AFAIK, unless it has changed fairly recently, there is a desire to have someone write a manual on printing in SLITAZ.
Bur I may missed something. Please provide the output of ps with the complete command line where you find the reference to "cups_install_log" in the ps output. Also, when you installed CUPS was your printer turned on and connected to the machine?
AFAIK, unless it has changed fairly recently, there is a desire to have someone write a manual on printing in SLITAZ.
Wholeheartedly agree.
Quote:
Originally Posted by kakaka
Bur I may missed something. Please provide the output of ps with the complete command line where you find the reference to "cups_install_log" in the ps output. Also, when you installed CUPS was your printer turned on and connected to the machine?
I was looking for the cups_install_log you mentioned in the output of the ps command.
But grep cups will already find cups ( lower case ) in any sequence of characters of which it is part. If cups_install_log had been in the ps output, it should have already found it, unless the ps output changed between the first grep and the second.
Also, if you want to use a pattern with grep, then you want to escape or quote the pattern so the shell doesn't evaluate it, and you probably want to use egrep.
Very likely you were in a directory with some file named cups_install_log or with a file that contained the phrase cups_install_log. The shell matched cups* in the directory you were in, so after grep finished grep'ing it's own stdin provided by the output of the ps command, it then started grep'ing through files whose names matched cups* because the matched names became part of grep's command line.
What I was trying to suggest before is this:
1) Uninstall cups.
2) Make sure you have a printer properly connected to the machine and turned on.
3) As root, re-install cups.
4) Get into the same directory you were when you saw the phrase cups_install_log come out of the grep.
Then, look for a file with a name like cups_install_log or some sort of cups install log. cups_install_log could have been a file name. Or there could have been a file with a name that matched the pattern cups* and the file may have contained the phrase cups_install_log.
Hopefully the cups install log file, whatever it is named, will tell you what's happening.
OK. My bad this time!
I created cups_install_log over a week ago to try and capture the output when starting the daemon.
I also went through all the config options I could google without any change.
So my last attempt is to
Code:
~# strace /etc/init.d/cupsd start
execve("/etc/init.d/cupsd", ["/etc/init.d/cupsd", "start"], [/* 22 vars */]) = 0
brk(0) = 0x80d0000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/usr/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
open("/lib/tls/i686/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/tls/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/sse2/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfed467c) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY) = 3
========== only 1st part of output =================
which looks like a bunch of dependencies missing?
Note there is no prompt regarding depends using the software installer - all I see is a tick box with "auto install depends" and "get-install" which suggests depends are automatically installed.
..or from the CLI are there any prompts for depends.
I was bouncing all over my system trying to find my cups_install_log, very puzzled not to find any reference to it, even inside the cups package itself. :-)
As you say, the installer should have checked all the dependencies. What you are seeing is the way processes search for dynamic components.
Sadly it often involves a hard-coded list of places to look. Sometimes many of those don't even exist on the system. That seems rather odd when you consider that there are standard mechanisms on Linux for specifying which directories are used on the system to hold such files.
You can see the zero return code, meaning success, where it found the /usr/lib directory.
That sequence will probably continue on, and repeat looking for different files, until everything it wants to find, is found, or it fails to find something, anywhere it looks.
Besides, AFAIK the signal a child process of cupsd caught, the one that you first illustrated, is a SEGV. Usually that would mean something more serious happened.
So if you make sure you strace the child process too, usually the -f flag does that, as well as put in enough options to bump up the level of details about as high as it goes, you might be able to see towards the end of the file, what the problem actually is.
Something to do with [pid 1308] write(2, "cupsd: Child exited on signal 11"..., 34cupsd: Child exited on signal 11!
) = 34?
But what??
I also did an # strace -fFv /etc/init.d/cupsd start but it didn't seem to show any more indication of the problem around the end of [pid 1308] where the SIGSEGV ocurred.
Last edited by fopetesl; 03-27-2010 at 06:00 AM.
Reason: More information
The write you mentioned is just writing the error message to the error file.
I probably don't have enough to go on, so this could be wrong. But the value returned from the time() function call seems to represent a date in 2010. It almost looks like the child process did a successful call to the time() function, then ran out of stack space to store the time value. If so, you might just need to bump up your stack space, if possible. That generally shouldn't be needed, but SLITAZ is supposed to be small, so it's not impossible I suppose.
Could you please do these things. Just for grins, try to uninstall cups, make sure your printer is connected to the machine and the printer turned on, then try to reinstall cups while capturing the output of the install procedure into a log and upload the log to this thread as an attachment.
Then if cupsd still fails to start, perhaps you could run this command:
and upload the strace_full.log and strace_procs.* files to this thread as attachments.
Please tell us if you know, which shell ( bash, sh, etc. ) you are using when running as root, and even if you don't know which shell you are using, as root please run this command:
# cat strace_full.log
strace: strace_procs: command not found
also
Code:
# tazpkg get-install strace_procs
Unable to find : strace_procs in the mirrored packages list.
Unable to find : get-strace_procs in the mirrored packages list.
OOOPS! My bad! Big BOOBOO!! Sorry, I was thinking at the same time, both about capturing the output from the install, as well as doing the strace, and cross-pollenating concepts between the two! Not enough caffeine! :-O
The -ff is supposed to put the strace for each process in it's own file with the process ID of the file appended to the file name provided. So if one of the processes ran with a process ID of 28882 you'd get a file named strace_log.28882 with the strace output of tracing that process.
That command form works on my system if I try to run something that I know will launch several processes, I get several strace output files. But your system maybe different. For example, I'm including the capital F option because it was supported on older systems and I believe you were using it in your example. In later systems it is considered deprecated/non-functional. But in later systems, the command is still aware of the option, so it doesn't complain if it is used.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.