When constructing the $libs variable, there is a blank missing before the -lpangocairo-1.0 coming from the pangocairo.pc through pkg-config. Inserting an extra blank before the pkg-config result fixes the issue. --- Makefile.PL 2014-02-19 05:13:50.000000000 +0100 +++ Makefile.PL 2015-10-08 00:47:59.777157391 +0200 @@ -161,6 +161,7 @@ if ($have_cairo) { push @deps, qw/Cairo/; $inc .= $pangocairo_pkgcfg{cflags}; + $libs .= ' '; $libs .= $pangocairo_pkgcfg{libs}; }