in reply to undefined symbols at *runtime*

Note that PGPLOT.so (a shared library) tries to link to another shared library and the error message states that one of the symbols (usually a function) cannot be found in that shared library.

This is expected behaviour - at least on unix, but I assume the same thing happens on windows - when you're using shared libraries, since the references to symbols in libraries you're using are resolved when linking, and shared libraries are linked at run time (on unix - using the dlopen() function, which is often handled automatically but you can load library files and look up their symbols "by hand" too, if you need to).

I.e. loading a library/program that uses another shared library causes the other library to be loaded and linked recursively, at the moment the library is actually opened.

That's done because otherwise you would have to recompile all referring programs when you update a shared library.