5.3. Modules that require system libraries
Prev | Chapter 5. Programming notes | Next

## 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

Prev | Up | Next
5.2. Use of syslog(3) | Home | Chapter 6. An example module