Jump to content

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


Recommended Posts

Guest Chup
Posted

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"�"�"�"�"�"�"�"�"###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

( this seems to confirm that) though I'm surprised it's just for the troff command... ALthough I suppose the troff command is for processing any text information perhaps (I'm no doubt underestimating it with my html man page adventure)

 

 

Finally it finishes with

 

groff -mandoc -Thtml

[code]

 

calls groff, tells it that we want it to process a mandoc and to use the device (-T) html

 

 

Well, that's it from me!

 

[url=http://www.linuxforums.org/forum/newbie/201686-reading-linux-error-messages-how-read-knowing-what-install.html]Continue reading...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...