Sorry, I don't understand what's going on here.  Won't mkmf expand this to a function pointer that looks like:
`void ((*int clapacgk_dgetrf)())`, which doesn't actually make sense?

Please correct me if I'm wrong here.  I think the actual problem is that you *can't* pass a function type in mkmf, so if you have something that's non-void, you need to supply arguments and it'll simulate a function call.  So something like:
`clapack_dgetrf(foo, bar, baz)` where the arguments actually match the function signature.