5.3. Modules that require system libraries
Writing a module is much like writing an application. You have to provide the "conventional hooks" for it to work correctly, like
pam_sm_authenticate() etc., which would correspond to the
main() function in a normal function.
Typically, the author may want to link against some standard system libraries. As when one compiles a normal program, this can be done for modules too: you simply append the
-l XXX arguments for the desired libraries when you create the shared module object. To make sure a module is linked to the libwhatever.so library when it is
dlopen() ed, try:
% gcc -shared -o pam_module.so pam_module.o -lwhatever