Reading Linux error messages - how to read - knowing what to install

  • Thread starter Thread starter Chup
  • Start date Start date
C

Chup

This post started with me asking how to read error messages, and ended in me attempting to read one. I'm guessing that a lot of people here have done this a lot, and maybe still do it day in day out.

I'd be interested to hear any thoughts on the below, I'm sure some of you might have gone about thing's a different way, or have some info to add.

There are a lot of thing's that I don't know (obviously) about the beneath, and sometimes when error checking (especially with Google etc) It can be hard to draw the 'necessary knowledge' line, even more so when one's learning and doesn't have much knowledge and experience to cross reference against!

Anyway, I was probably here for over an hour or so I thought I'd post it



************************************************** ************************************



I saw something earlier about using --html to read man pages.

So I thought I'd go along with it and couldn't get it to work - eventually finding that I needed to

Code:
sudo apt-get install groff
This is what the error message was :
Code:
man: command exited with status 3: /usr/bin/zsoelim | /usr/lib/man-db/manconv -f

UTF-8:ISO-8859-1 -t UTF-8//IGNORE | preconv -e UTF-8 | tbl | groff -mandoc -Thtml
Now to be fair, that came up in the terminal, I went a bit blank then started googling. So It's a bit of a poor effort on my part, but still - If I didn't have google I'd have just shut down and started walking in circles or something.

So, how to go about reading these error messages? Is there a fixed way, or are they all different?
Code:
man: command exited with status 3
That looks like something - but there's not much definite I can find on the net about it.

Is this like a return statement from a program ?

0 = OK

1 = error

2 = disk space

3 = network

etc etc...

?

Or is there something else, so would that mean that all exit statuses are unique to the command that was run at the time?

it then goes on to list a couple of directories :

Code:
/usr/bin/zsoelim | /usr/lib/man-db/manconv -f
The first one ' zsoelim ' I don't know anything about ( a running theme ) and if I use cat to look at it it's a jumble
Code:
(A BBA
D$P���eBEE �E(�H0�H8�M@l8A0A(B BBlx���p'0'M��
d{�� Ȫ ���o�8X �
c
�� �@�X ���o���o����o���o����o
ت &6FVfv�������� & 6 F V f v � � � � � � � � !!&!6!F!V!f!v!�!�!�!�!�!�!�!�!""&"6"F"V"f"v"�"�"�"�"�"�"�"�"##&#6#F#V#f#v#�#�#�#�#�#�#�#�#$� ����PP�� zȒU�d[�s�C��h~���a0932d1e2f456b719aa550020645cbdbe6abb9.debug��EL.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.dynamic.got.data.bss.gnu_debuglink
88TT !tt$4���o��>
XX
F88cN���o���[���o��`j��Xt@@�
All that kind of stuff.... ABBA's on the top though...

Googling for this command I get the information (from here) :

Code:
NAME

soelim - interpret .so requests in groff input
Not sure why they've spelt it differently (maybe that's just the pronunciation) but that mentions groff once again.

Code:
interpret .so requests
and

Code:
groff input
Seem to be relevant here.

Taken from this page about soelim

Code:

USAGE
The normal processing sequence of groff is this:

input sourced
file file
| |
v v
preprocessor -> troff -> postprocessor
|
v
output
file
So I'm guessing that in the usage I've tried (displaying a man page in a browser) the ' post processor ' is firefox / chrome and I'm sending the input man page to that source.

Hmm.

The zsoelim is then piped into :

Code:
usr/bin/zsoelim | /usr/lib/man-db/manconv -f
so that's a command called ' manconv ' that apparently converts a man page from one encoding to another.
And the -f flag is :

Code:
-f encodings, --from-code encodings
Try each of encodings (a colon-separated list) in sequence as
the input encoding.
"Try each of the encodings in sequence" - to me that reads as a catch all thing, so it'll just rattle through all types of encoding and one of them will do the trick.

Code:
UTF-8:ISO-8859-1
These are two different types of encoding, not sure what they're doing here.

Interestingly (ish...) I've found this from the HTML pages :

Quote:
HTML Character Sets
What is the correct character encoding to use in HTML?

For HTML5, the default character encoding is UTF-8.

This has not always been the case. The character encoding for the early web was ASCII.

Later, from HTML 2.0 to HTML 4.01, ISO-8859-1 was considered the standard.

With XML and HTML5, UTF-8 finally arrived, and solved a lot of character encoding problems.
So the program that's doing
Code:
UTF-8:ISO-8859-1
Is actually using an old format - if it's converting from UTF-8 to ISO-8859-1 that is, maybe it's going the other way.

It then starts going into unicode references and such, which is probably outside the scope of this.

next part :

Code:
UTF-8//IGNORE
This seems like its related to the last part really, and a bit of google implies that this is ignoring invalid UTF chars. Although what that would mean after the UTF-8:ISO-8859-1 part I'm not too sure.


Then thing's are piped to

Code:
preconv -e UTF-8
More UTF!

(This debian mail page) seems to have some information relating to this command, though it is 7 years or so old now.

a quote from it :

Quote:
Please be reminded that even UTF-8 encoded text data which can only
access UCS codes is not without "data loss". The selection of UCS codes
for glyphs was a practical compromize. They assigned a same code to
several glyphs sharing some history. (This is mostly
Chinese-Japanese-Korean issue which have huge number of glyphs.)
So - I'm not sure if these Unicode char's are something that I'd ever actually use, or whether they're there solely for the purpose of languages that use more complex chars than English, I'm not too sure whether that's outside this scope or apparently integral either!


Next up is
Code:
tbl
I'm guessing this is something to do with ordering the contents into a table.

Quote:
tbl - format tables for troff
(Continue reading...
 
Back
Top