02dl1

In this version, we see how to use libdl to further weaken the link
between pkg1.c and our client code: usepkg1_via_dl.c does not
link with -lpkg1 at all, but instead uses libdl at runtime to
open "libpkg1.so" and search for particular named symbols
within it.

This version compiles perfectly happily.

Unfortunately, when run, this code does not find "f1" in pkg1.c

Why not?

Run "nm libpkg1.so | grep f1"

and you'll see why:

Our f1 function in pkg1.c is NOT CALLED F1, IT'S CALLED PKG1_F1!
