Miredo Weirdness

I recently compiled and installed from source a program known as Miredo, for IPv6 connectivity. I successfully compiled and generated the necessary binaries to run the program. However, upon execution, they complained of an missing shared object file (libtun6.so).
I spent hours googling a solution to no avail. I eventually gave up and shut down the system for the night. Upon booting up again the next day, the program executed without any problems.

My question is this: Why would it require a reboot to work? No part of the compilation required messing with the kernel to my knowledge. I ask this because I’d like to understand my system a bit better.

On Wed, 13 Aug 2008 07:46:03 GMT
Chlorus <Chlorus@no-mx.forums.opensuse.org> wrote:

>
> I recently compiled and installed from source a program known as Miredo,
> for IPv6 connectivity. I successfully compiled and generated the
> necessary binaries to run the program. However, upon execution, they
> complained of an missing shared object file (libtun6.so).
> I spent hours googling a solution to no avail. I eventually gave up and
> shut down the system for the night. Upon booting up again the next day,
> the program executed without any problems.
>
> My question is this: Why would it require a reboot to work? No part of
> the compilation required messing with the kernel to my knowledge. I ask
> this because I’d like to understand my system a bit better.
>
>

If you installed a new library during your travels, you need to run ldconfig
to rescan the libraries. Rather like a giant ‘hash table’ which lets linux
link libraries faster.

After installing, or doing anything which changes/add/removes a library…

(as root)
ldconfig

The libraries are rescanned on a boot… which is why it worked after the
reboot.

Similarly, if you install/add/change/remove kernel modules, you need to run
‘depmod -a’ to update indexes… (as an example)

Hope this helps

Loni


L R Nix
lornix@lornix.com

Thank you! That explains everything!