in reply to
Failed to link while building XS code
But the cairo library is out there. I manually run the link command, it runs successful
Take a close look at the output from the ./Build.PL step - mainly checking to see if there's any mention of a problem locating "-lcairo".
I'm wondering whether perl, having not been able to find -lcairo, might then do something to the environment that ensures that the linker won't find it either.
Then, when you run the command manually, it works because you're now running in an environment that perl has not corrupted.
Just a guess ... I'm not all that familiar with Module::Build ... and firmly committed to staying that way.