Q: Why do I get ‘Undefined symbol “_openpam_debug” referenced from COPY relocation in su’ in NetBSD?
A: This appears most commonly seen after an upgrade from NetBSD 2.2 to 3.0.
This is caused by additional copies of libpam being installed, most likely in /usr/pkg/lib via pkgsrc.
You can first check this by simply
$ ls /usr/pkg/lib/libpam*
If you find these libraries exist, then you should check the following:
/etc/ld.so.conf
libm.so.0 machdep.fpu_present 1:libm387.so.0,libm.so.0 /custom/lib/path
If you have /usr/pkg/lib defined, a possible option is to remove it or to override it by placing /usr/lib (i.e. the location of the base libpam) before it in the config file. Since ld.so.conf is parsed prior to running the binary, this should be all that is necessary.
A second possibility is you have the LD_LIBRARY_PATH or LD_PRELOAD environment variables defined. Again, you can unset these variables, or modify the variables to include /usr/lib prior to /usr/pkg/lib.
Posted: January 16th, 2007 under Answers, NetBSD, System Administration.
Comments: none


Write a comment