|
Lines 4166-4171
Link Here
|
| 4166 |
|
4166 |
|
| 4167 |
</answer> |
4167 |
</answer> |
| 4168 |
</qandaentry> |
4168 |
</qandaentry> |
|
|
4169 |
|
| 4170 |
<qandaentry> |
| 4171 |
<question> |
| 4172 |
<para>I get the error <literal>nlist failed</literal> when running, |
| 4173 |
for example, <command>top</command> or |
| 4174 |
<command>systat</command>.</para> |
| 4175 |
</question> |
| 4176 |
|
| 4177 |
<answer> |
| 4178 |
<para>The problem is that the application you are trying to run is |
| 4179 |
looking for a specific kernel symbol, but, for whatever reason, |
| 4180 |
cannot find it; this error stems from one of two problems:</para> |
| 4181 |
|
| 4182 |
<itemizedlist> |
| 4183 |
<listitem> |
| 4184 |
<para>Your kernel and userland are not synchronized (i.e., you |
| 4185 |
built a new kernel but did not do an installworld, or vice |
| 4186 |
versa), and thus the symbol table is different from what the |
| 4187 |
user application thinks it is. If this is the case, simply |
| 4188 |
complete the upgrade process (see |
| 4189 |
<filename>/usr/src/UPDATING</filename> for the correct |
| 4190 |
sequence).</para> |
| 4191 |
</listitem> |
| 4192 |
|
| 4193 |
<listitem> |
| 4194 |
<para>You are not using <command>/boot/loader</command> to load |
| 4195 |
your kernel, but doing it directly from boot0 (see |
| 4196 |
&man.boot.8;). While there is nothing wrong with bypassing |
| 4197 |
<command>/boot/loader</command>, it generally does a better |
| 4198 |
job of making the kernel symbols available to user |
| 4199 |
applications.</para> |
| 4200 |
</listitem> |
| 4201 |
</itemizedlist> |
| 4202 |
</answer> |
| 4203 |
</qandaentry> |
| 4169 |
</qandaset> |
4204 |
</qandaset> |
| 4170 |
</chapter> |
4205 |
</chapter> |