If someone comes to OpenBSD from Linux he is likely to fall into a nasty trap
in OpenBSD.  He runs "ldconfig" after compiling some program as he was used to
on Linux. This will destroy his linker cache and he won't be able to execute
any program anymore.

What is worse, he will not be sure if the linker cache is regenerated on boot
or not and scared that if he reboots the machine, he will not be able to reboot
it anymore. So he may start fiddling with LD_LIBRARY_PATH to be able to launch
some program to fix the cache. He won't be able to view even manual pages in
such case.

This consumes a lot of time and creates a lot of frustration. What I suggest
is:

1) If ldconfig is ran without argument, it does the same as ldconfig -R.

I can write a patch for it if you are out of time.  If you refuse to add this,
then I suggest:

2) If ldconfig is ran without arguments, it prints to stderr
"ldconfig without arguments would erase the linker cache and screw up the
system. If you wanted to regenerate the cache, this is done by ldconfig -R."
and returns with return code 1.

If you refuse to add or accept patch for this, then I suggest this:

3) ldconfig without argument, after destroying the linker cache, writes to
stderr:
"The linker cache is now erased and the system screwed up. The easiest way to
fix it is simply reboot the machine. If you wanted to regenerate the linker
cache, this is done by ldconfig -R." and returns with code 0.

CL<

Reply via email to