5

After I ran man ls, it shows:

Man: find all matching manual pages
* ls (1)
ls (1p)
Man: What manual page do you want?
Man:

After I entered "1", it shows nothing but "Manual page ls(1) line ?/? (END)" on the status bar.

I guess that I haven't installed manual page for ls, so I ran manpath and get output below:

/usr/share/man:/usr/local/man:/usr/local/share/man

Right under directory /usr/share/man/man1/ I found gzip file ls.1.gz, which I think is the manual information of ls.

So why man ls shows nothing here?

12
  • What system are you using? Try man 1 ls or man -s 1 ls. Mar 14, 2012 at 7:07
  • @KeithThompson: These two commands failed too. I'm using SLES 11.
    – xanpeng
    Mar 14, 2012 at 7:13
  • 1
    Failed how exactly? zcat /usr/share/man/man1/ls.1.gz | head should show you 10 lines of text; one of the lines should be something similar to .TH LS "1" "February 2011" "GNU coreutils 8.5" "User Commands". And try zcat /usr/share/man/man1/ls.1.gz | nroff -man | less. Mar 14, 2012 at 7:22
  • 1
    Do you have man aliased? What do alias man and which man tell you?
    – Mat
    Mar 14, 2012 at 11:53
  • 2
    Try these: type -a man, /usr/bin/man ls Mar 14, 2012 at 16:55

2 Answers 2

3

Thanks all for your suggestions.

I finally solved the problem and now man works.

Answer

Somebody installed both 64bit and 32bit version of glibc, which brings chaos I guess. After uninstall the 32bit version and reinstall 64bit version of glibc, man works.

== Detailed process ==

  • Ran mandb -t, lots of error messages showed up:

iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument

  • By google I found that iconv_open is in gconv(ref).
  • strace mandb -t and strace man ls both show this information:

open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY) = -1 ENOENT (No such file or directory)

  • By google I found that gconv-modules may be very important to iconv, which might be very important to man. And gconv is in glibc, now the best guess is that my glibc is not installed correctly.
  • Ran rpm -qa | grep glibc, I got this:

glibc-i18ndata-2.11.1-0.17.4
glibc-locale-2.11.1-0.17.4
glibc-info-2.11.1-0.17.4
glibc-html-2.11.1-0.17.4
glibc-profile-2.11.1-0.17.4
glibc-devel-2.11.1-0.17.4
glibc-2.11.1-0.17.4
glibc-32bit-2.11.1-0.17.4
glibc-devel-32bit-2.11.1-0.17.4
glibc-locale-32bit-2.11.1-0.17.4
glibc-profile-32bit-2.11.1-0.17.4

  • Ran rpm -e --nodeps 32bit-PACKAGE to remove all the 32bit packages, then reboot the machine(Any other way beside reboot?).
  • Reinstalled all the 64bit glibc packages.
  • man ls, it worked!
-2

Finally the correct answer to this error as well:

QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

It does not have anything to do with your installed fonts, but with missing glibc-packages.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .