lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 1 | .TH ldconfig 8 "14 March 1998" |
| 2 | .SH NAME |
| 3 | ldconfig \- determine run-time link bindings |
| 4 | .SH SYNOPSIS |
| 5 | ldconfig |
| 6 | .RB [ \-DvqnNX ] |
| 7 | .RB [ \-f\ conf ] |
| 8 | .RB [ \-C\ cache ] |
| 9 | .RB [ \-r\ root ] |
| 10 | .IR directory \ ... |
| 11 | .PD 0 |
| 12 | .PP |
| 13 | .PD |
| 14 | ldconfig |
| 15 | .B \-l |
| 16 | .RB [ \-Dvq ] |
| 17 | .IR library \ ... |
| 18 | .PD 0 |
| 19 | .PP |
| 20 | .PD |
| 21 | ldconfig |
| 22 | .B \-p |
| 23 | .SH DESCRIPTION |
| 24 | .B ldconfig |
| 25 | creates the necessary links and cache (for use by the run-time linker, |
| 26 | .IR ld.so ) |
| 27 | to the most recent shared libraries found in the directories specified |
| 28 | on the command line, in the file |
| 29 | .IR /etc/ld.so.conf , |
| 30 | and in the trusted directories |
| 31 | .RI ( /usr/lib |
| 32 | and |
| 33 | .IR /lib ). |
| 34 | .B ldconfig |
| 35 | checks the header and file names of the libraries it encounters when |
| 36 | determining which versions should have their links updated. |
| 37 | .B ldconfig |
| 38 | ignores symbolic links when scanning for libraries. |
| 39 | .PP |
| 40 | .B ldconfig |
| 41 | will attempt to deduce the type of ELF libs (ie. libc5 or libc6/glibc) |
| 42 | based on what C libs if any the library was linked against, therefore when |
| 43 | making dynamic libraries, it is wise to explicitly link against libc (use -lc). |
| 44 | .PP |
| 45 | Some existing libs do not contain enough information to allow the deduction of |
| 46 | their type, therefore the |
| 47 | .IR /etc/ld.so.conf |
| 48 | file format allows the specification of an expected type. This is |
| 49 | .B only |
| 50 | used for those ELF libs which we can not work out. The format |
| 51 | is like this "dirname=TYPE", where type can be libc4, libc5 or libc6. |
| 52 | (This syntax also works on the command line). Spaces are |
| 53 | .B not |
| 54 | allowed. Also see the |
| 55 | .B -p |
| 56 | option. |
| 57 | .PP |
| 58 | Directory names containing an |
| 59 | .B = are no longer legal |
| 60 | unless they also have an expected type specifier. |
| 61 | .PP |
| 62 | .B ldconfig |
| 63 | should normally be run by the super-user as it may require write |
| 64 | permission on some root owned directories and files. |
| 65 | It is normally run automatically at bootup, from /etc/rc, or manually |
| 66 | whenever new DLL's are installed. |
| 67 | .SH OPTIONS |
| 68 | .TP |
| 69 | .B \-D |
| 70 | Debug mode. |
| 71 | Implies |
| 72 | .B \-N |
| 73 | and |
| 74 | .BR \-X . |
| 75 | .TP |
| 76 | .B \-v |
| 77 | Verbose mode. |
| 78 | Print current version number, the name of each directory as it |
| 79 | is scanned and any links that are created. |
| 80 | Overrides quiet mode. |
| 81 | .TP |
| 82 | .B \-q |
| 83 | Quiet mode. |
| 84 | Don't print warnings. |
| 85 | .TP |
| 86 | .B \-n |
| 87 | Only process directories specified on the command line. |
| 88 | Don't process the trusted directories |
| 89 | .RI ( /usr/lib |
| 90 | and |
| 91 | .IR /lib ) |
| 92 | nor those specified in |
| 93 | .IR /etc/ld.so.conf . |
| 94 | Implies |
| 95 | .BR \-N . |
| 96 | .TP |
| 97 | .B \-N |
| 98 | Don't rebuild the cache. |
| 99 | Unless |
| 100 | .B \-X |
| 101 | is also specified, links are still updated. |
| 102 | .TP |
| 103 | .B \-X |
| 104 | Don't update links. |
| 105 | Unless |
| 106 | .B \-N |
| 107 | is also specified, the cache is still rebuilt. |
| 108 | .TP |
| 109 | .B \-f conf |
| 110 | Use |
| 111 | .B conf |
| 112 | instead of |
| 113 | .IR /etc/ld.so.conf . |
| 114 | .TP |
| 115 | .B \-C cache |
| 116 | Use |
| 117 | .B cache |
| 118 | instead of |
| 119 | .IR /etc/ld.so.cache . |
| 120 | .TP |
| 121 | .B \-r root |
| 122 | Change to and use |
| 123 | .B root |
| 124 | as the root directory. |
| 125 | .TP |
| 126 | .B \-l |
| 127 | Library mode. |
| 128 | Manually link individual libraries. |
| 129 | Intended for use by experts only. |
| 130 | .TP |
| 131 | .B \-p |
| 132 | Print the lists of directories and candidate libraries stored in |
| 133 | the current cache. |
| 134 | .SH EXAMPLES |
| 135 | In the bootup file |
| 136 | .I /etc/rc |
| 137 | having the line |
| 138 | .RS |
| 139 | |
| 140 | /sbin/ldconfig -v |
| 141 | |
| 142 | .RE |
| 143 | will set up the correct links for the shared binaries and rebuild |
| 144 | the cache. |
| 145 | .TP |
| 146 | On the command line |
| 147 | .RS |
| 148 | |
| 149 | # /sbin/ldconfig -n /lib |
| 150 | |
| 151 | .RE |
| 152 | as root after the installation of a new DLL, will properly update the |
| 153 | shared library symbolic links in /lib. |
| 154 | |
| 155 | .SH FILES |
| 156 | .PD 0 |
| 157 | .TP 20 |
| 158 | .B /lib/ld.so |
| 159 | execution time linker/loader |
| 160 | .TP 20 |
| 161 | .B /etc/ld.so.conf |
| 162 | File containing a list of colon, space, tab, newline, or comma spearated |
| 163 | directories in which to search for libraries. |
| 164 | .TP 20 |
| 165 | .B /etc/ld.so.cache |
| 166 | File containing an ordered list of libraries found in the directories |
| 167 | specified in |
| 168 | .BR /etc/ld.so.conf . |
| 169 | .TP |
| 170 | .B lib*.so.version |
| 171 | shared libraries |
| 172 | .PD |
| 173 | .SH SEE ALSO |
| 174 | .BR ldd (1), |
| 175 | .BR ld.so (8). |
| 176 | .SH BUGS |
| 177 | .LP |
| 178 | .BR ldconfig 's |
| 179 | functionality, in conjunction with |
| 180 | .BR ld.so , |
| 181 | is only available for executables compiled using libc version 4.4.3 or greater. |
| 182 | .PP |
| 183 | .BR ldconfig , |
| 184 | being a user process, must be run manually and has no means of dynamically |
| 185 | determining and relinking shared libraries for use by |
| 186 | .BR ld.so |
| 187 | when a new DLL is installed. |
| 188 | .SH AUTHORS |
| 189 | David Engel and Mitch D'Souza. |