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.

This entry was posted in Answers, NetBSD, System Administration. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>