Penguin
Blame: CommonErrors
EditPageHistoryDiffInfoLikePages
Annotated edit history of CommonErrors version 42, including all changes. View license author blame.
Rev Author # Line
42 AristotlePagaltzis 1 !!! <tt>error while loading shared library. cannot open shared object file</tt>
35 JohnMcPherson 2
42 AristotlePagaltzis 3 Use ldd(1) to determine which libraries this program is trying to link against and which ones are missing or can't be linked against, eg. <tt>ldd /bin/cat</tt>.
37 MarcusTylutki 4
42 AristotlePagaltzis 5 In [Linux], one possible reason for this is that the SharedLibrary is not in <tt>/usr/lib</tt> or one of the other directories which are searched for shared libraries. In that case, add the directory to <tt>/etc/ld.so.conf</tt> and run ldconfig(8). (Other ways of dealing with this are creating a SymLink in <tt>/usr/lib</tt> to the current location of a library or moving the library to <tt>/usr/lib</tt> (this is not advisable).)
35 JohnMcPherson 6
7
42 AristotlePagaltzis 8 !!! <tt>/path/to/program: No such file or directory</tt> %%% <tt>/path/to/program: bad interpreter: No such file or directory</tt>
35 JohnMcPherson 9
42 AristotlePagaltzis 10 * If it is a dynamic BinaryExecutable, it is possibly linked against a library that doesn't exist, or against a specific SharedLibrary on your system that has the same name but contains different symbols as on the machine that the file was compiled on.
35 JohnMcPherson 11
42 AristotlePagaltzis 12 This is particularly annoying as you can also get this message when trying to use ldd(1) to find out which dynamic library is causing the problem. Eg.:'''
35 JohnMcPherson 13
42 AristotlePagaltzis 14 <verbatim>
15 $ ./ninfo
16 zsh: no such file or directory: ./ninfo
17 $ file ninfo
18 ninfo: ELF 32-bit LSB executable, Intel 80386, version 1,
19 dynamically linked (uses shared libs), not stripped
20 $ ldd ./ninfo
21 /usr/bin/ldd: ./ninfo: No such file or directory
22 </verbatim>
35 JohnMcPherson 23
42 AristotlePagaltzis 24 This makes diagnosis a bit harder! However, you can try:''''
35 JohnMcPherson 25
42 AristotlePagaltzis 26 <verbatim>
27 $ /lib/ld-linux.so.2 --verify --list ./ninfo
28 /usr/local/bin/ninfo: error while loading shared libraries:
29 libc.so.5: cannot open shared object file: No such file or directory
30 </verbatim>
35 JohnMcPherson 31
42 AristotlePagaltzis 32 Or:''''
41 GemmaPeter 33
42 AristotlePagaltzis 34 <verbatim>
35 $ strings ./ninfo | grep \.so
36 /lib/ld-linux.so.1
37 libtermcap.so.2
38 libc.so.5
39 </verbatim>
41 GemmaPeter 40
42 AristotlePagaltzis 41 It then becomes clear that this program is linked against very old versions of libraries that don't exist any more. The program needs to be re-compiled against current versions. (You do have the source code, right?)
35 JohnMcPherson 42
42 AristotlePagaltzis 43 * If the executable is some kind of script, it might point to an interpreter that doesn't exist on your system. For example, [Perl] scripts often started with <tt>#!/usr/local/bin/perl</tt> when you had <tt>perl</tt> installed as <tt>/bin/perl</tt> or <tt>/usr/bin/perl</tt>.
35 JohnMcPherson 44
42 AristotlePagaltzis 45 Another possibility is that the script was edited on MicrosoftWindows, or another editor that added Windows style line endings (Carriage Return + Linefeed). Try using <tt>dos2unix</tt> or <tt>tr -d '\r'</tt> to go back to Unix style line endings (Linefeed only).
35 JohnMcPherson 46
42 AristotlePagaltzis 47 Lastly, the script might be fine and its interpreter might exist, but the interpreter might not be launchable. This is what <tt>bad interpreter</tt> means here, but only bash(1) seems to provide that helpful part of the message, not zsh(1). If that is the case, see below.
35 JohnMcPherson 48
49
42 AristotlePagaltzis 50 !!! <tt>/path/to/program: Permission denied</tt> %%% <tt>/path/to/program: bad interpreter: Permission denied</tt>
35 JohnMcPherson 51
42 AristotlePagaltzis 52 * The executable bit is not set on the program file. Issue <tt>chmod a+x /path/to/program</tt> to fix this.
35 JohnMcPherson 53
42 AristotlePagaltzis 54 * The program is located on a [Partition] that is mounted <tt>noexec</tt>. Alternatively, on many LinuxDistribution~s you can't run executables from removable media such as [CDROM]s and floppies, due to the <tt>user</tt> mount option. Check your <tt>/etc/fstab</tt>. See also mount(8).
35 JohnMcPherson 55
42 AristotlePagaltzis 56 * Some secure [Kernel]s used by certain LinuxDistribution~s will throw this error occurs when the directory containing the program is world writable, eg. if you are trying to launch <tt>~~/bin/prog</tt> and <tt>~~/bin</tt> is world/group-writable. Issue <tt>chmod go-w ~~/bin</tt> and try again.
35 JohnMcPherson 57
42 AristotlePagaltzis 58 * If you get the <tt>bad interpreter</tt> message, the program is a script whose interpreter has one of the above problems. Unfortunately, only bash(1) seems to provide that helpful part of the message. If you use another shell, such as zsh(1), you must check both the script and its interpreter for these problems.
35 JohnMcPherson 59
60
42 AristotlePagaltzis 61 !!! <tt>Xlib: connection to ":0.0" refused by server</tt>
35 JohnMcPherson 62
42 AristotlePagaltzis 63 The user running the command is different to the user that started the [XServer], or is otherwise not allowed by the [XServer] to create new (graphical) windows. See [XFree86Notes] on giving other users permission to open graphical windows on your [XServer].
35 JohnMcPherson 64
39 JohnMcPherson 65
42 AristotlePagaltzis 66 !!! <tt>ping: unknown protocol icmp</tt>
67
68 If <tt>/proc</tt> is mounted, your interfaces are correctly configured, and <tt>/etc/protocols</tt> is fine, check <tt>/etc/nsswitch.conf</tt>. It might be declaring other sources than <tt>/etc/protocols</tt> as authoritative:
35 JohnMcPherson 69
70 <verbatim>
42 AristotlePagaltzis 71 protocols: ldap [NOTFOUND=return] files
39 JohnMcPherson 72 </verbatim>
42 AristotlePagaltzis 73
74 Here you could allow <tt>/etc/protocols</tt> as a fallback:
75
39 JohnMcPherson 76 <verbatim>
42 AristotlePagaltzis 77 protocols: ldap files
39 JohnMcPherson 78 </verbatim>
35 JohnMcPherson 79
42 AristotlePagaltzis 80 Or delete every other source all together:
81
39 JohnMcPherson 82 <verbatim>
42 AristotlePagaltzis 83 protocols: files
39 JohnMcPherson 84 </verbatim>
35 JohnMcPherson 85
86
42 AristotlePagaltzis 87 !!! <tt>ping: sendto: Operation not permitted</tt>
35 JohnMcPherson 88
42 AristotlePagaltzis 89 <verbatim>
90 PING 192.168.66.10 (192.168.66.10): 56 data bytes
91 ping: sendto: Operation not permitted
92 ping: wrote 192.168.66.10 64 chars, ret=-1
93 </verbatim>
35 JohnMcPherson 94
42 AristotlePagaltzis 95 The interface you are pinging out of (192.168.66.10) is firewalled. Fix your FireWall.
35 JohnMcPherson 96
97
42 AristotlePagaltzis 98 !!! The shell hangs
35 JohnMcPherson 99
42 AristotlePagaltzis 100 Your shell hangs and even ignores Ctrl-C. You have to close the terminal to remove the process.
101
102 Possible answer: you have inadvertently typed the special stop flow control character used by terminals. By default, this is Ctrl-S, with Ctrl-Q sending a start character. This is particularly common if you were pressing Ctrl-D or Ctrl-A or a nearby key on a QWERTY keyboard.
103
104 You can use the stty(1) program to change this behaviour. <tt>stty -ixon</tt> will tell your terminal not to use XON/XOFF flow control. You could also say <tt>stty stop ''</tt> to specify that no character sends a stop character. If you want to play a practical joke on someone you could issue <tt>stty stop ' '</tt>, which will tell the terminal to stop every time they hit space. To restore the default, you can use <tt>stty stop ^s</tt> (the circumflex is a common way to spell “Ctrl-” on Unix). Redefining the stop key has the added advantage that you can then use Ctrl-S to search your command history in bash(1)/zsh(1) as well as Ctrl-R for reverse search.
105
106
107 !!! Xscreensaver: <tt>couldn't create GL context for visual 0x21</tt>
35 JohnMcPherson 108
109 Symptom: xscreensaver(1) gives this message when trying to run one of the 3D screensavers, even though you can run it fine from the command line (such as $/usr/lib/xscreensaver/bubble3d). Or perhaps it works fine when run in a window, but not fullscreen.
110
42 AristotlePagaltzis 111 You are probably using the nVidia BinaryDriver~s for [XFree86]. The problem is that these drivers mmap(2) large parts of the graphics card's memory and registers into VirtualMemory, and xscreensaver(1) defaults to having a limit on the amount of memory it uses. Eg.:
112
113 <verbatim>
114 20502 john 16 10 139m 8096 2632 S 1.9 3.2 0:00.22 sierpinski3d
115 </verbatim>
116
117 This [OpenGL] application has 139MB of addressable space in use, but it is not using that much virtual memory. Edit <tt>~~/.xscreensaver</tt> and edit the line that says
118
119 <verbatim>
120 memoryLimit: 50M
121 </verbatim>
122
35 JohnMcPherson 123 to either something much bigger, or set it to 0 (for no limit).
36 JohnMcPherson 124
42 AristotlePagaltzis 125
126 !!! <tt>~*~*~* attempt to put segment in horiz list twice</tt>
127
128 You might see this error message if you use [GNOME] – it appears quite regularly in my <tt>~~/.xsession-errors</tt> file.
129
130 It is "mostly harmless," seems to occur most frequently when activating menus, and appears to be caused by libsvg/libarts. It implies a minor problem with one of the [SVG] icons.
131
35 JohnMcPherson 132 ----
42 AristotlePagaltzis 133
35 JohnMcPherson 134 For more errors see: CategoryErrors

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 13 times)