Hi, I ran into the infamous "qt frontend is installed but does not work" and "ncurses frontend is installed but does not work" problems with YaST today and found both the cause and cure of the problem. The solution I've seen on this mailing list is to reboot and run the repair tool from the CD. All well and good for desktop users but I'm working on a server which I don't like to casually reboot. Also, since I didn't know the cause of the problem, I was worried that the system might not come back up if I rebooted. I suspected a corrupted YaST file so I used: rpm -qa | egrep -i yast | xargs -i rpm --verify {} which verifies all the installed packages named *yast*. For completeness, you'd want to do that to full dependency tree. That test came back clean so if RPM could be trusted, the problem was not in the YaST installation but somewhere else. I ran strace yast2 2>&1 | tee /tmp/yast_trace.txt to see if there was any problems detected by watching system calls. I've needed to do this when debugging problems with Apache silently dying, traced back to missing shared libraries. That got me nowhere, but using file `which yast2` I found that yast2 is just a bash script; at the top of the script there's a call to load some common functions: . /usr/lib/YaST2/bin/yast2-funcs which contains the tests for ncurses and qt. Now we're getting somewhere. The key parts of yast2-func are the tests /usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2ncurses.so.2" \ | grep "=> not found" /usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2qt.so.2" \ | grep "=> not found" which showed that these libraries couldn't find libcurl.so.2. It turns out that I had updated curl recently and apparently /usr/lib/libcurl.so.2 disappeared in the process. I reverted my curl upgrade and as if by magic YaST started working again. Problem solved, no reboot required. -- Bob
On Tue, Mar 08, 2005 at 03:54:50PM -0600, Bob Apthorpe wrote:
The key parts of yast2-func are the tests
/usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2ncurses.so.2" \ | grep "=> not found"
/usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2qt.so.2" \ | grep "=> not found"
which showed that these libraries couldn't find libcurl.so.2.
It turns out that I had updated curl recently and apparently /usr/lib/libcurl.so.2 disappeared in the process. I reverted my curl upgrade and as if by magic YaST started working again.
What SUSE version are you running? I just installed curl-7.12.0-2.2 on 9.2 and both libraries happily resolve with libcurl.so.3 provided by curl rpm. -Kastus
Kastus wrote:
On Tue, Mar 08, 2005 at 03:54:50PM -0600, Bob Apthorpe wrote:
The key parts of yast2-func are the tests
/usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2ncurses.so.2" \ | grep "=> not found"
/usr/bin/ldd "/usr/lib/YaST2/plugin/libpy2qt.so.2" \ | grep "=> not found"
which showed that these libraries couldn't find libcurl.so.2.
It turns out that I had updated curl recently and apparently /usr/lib/libcurl.so.2 disappeared in the process. I reverted my curl upgrade and as if by magic YaST started working again.
What SUSE version are you running? I just installed curl-7.12.0-2.2 on 9.2 and both libraries happily resolve with libcurl.so.3 provided by curl rpm.
I'm running 8.2; I haven't had a chance to migrate the system to 9.x. I installed a third-party RPM, not one from SuSE or a self-built one. The point is that a change to any number of libraries could've broken YaST and that while the repair disk option is nice to have, it's not strictly necessary if you know where and how to look to for problems. I was going to ask the list how to solve this problem, but I sorted it out before I could ask so I thought I'd post the solution for posterity. :) -- Bob
participants (2)
-
Bob Apthorpe
-
Kastus