Linking a program against a library adds the necessary stuff to its executable file to use that library's routines at run time. Since you didn't mention any particular OS, I'll describe the details in a generic fashion. read more
In the case of Python modules written in C/C++, this means that one should link against libpython. For the general case, the goal should not be to identify the minimal list of libraries required for linking and execution—as my orignal question somehow insinuated—but really to provide the linker with the necessary libraries so that all symbols can be resolved directly. read more