#!/usr/bin/perl -w use strict; use ExtUtils::PkgConfig; my %pango = ExtUtils::PkgConfig->find('pango'); my %pangocairo = ExtUtils::PkgConfig->find ('pangocairo'); my $libs = $pango{libs} ; printf("libs = $libs|\n"); my $pclibs = $pangocairo{libs}; printf("pclibs = $pclibs|\n"); $libs .= $pclibs; printf("libs = $libs|\n");
Background: I'm a longtime gentoo linux user with two different systems both using testing (as opposed to stable). On one system I had an issue compiling Pango, on the other I didn't. I can't figure out why so I turn to the monks for help.
The problem was a missing space. On the system without problems the above code (adapted from the Makefile.PL from Pango for illustration) outputs this (the vertical bars are there to show the spaces)
but on the other system, using the same version of ExtUtils::PkgConfig and anything else relevant I could think of (perl-5.20 for instance) the output was missing the spaces at the end causing the last line to smash together the "-lglib-2.0 -lpangocairo-1.0" bit into one piece and causing a compile error.libs = -lpango-1.0 -lgobject-2.0 -lglib-2.0 | pclibs = -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo + | libs = -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lpangocairo-1.0 -lpango-1 +.0 -lgobject-2.0 -lglib-2.0 -lcairo |
libs = -lpango-1.0 -lgobject-2.0 -lglib-2.0| pclibs = -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo +| libs = -lpango-1.0 -lgobject-2.0 -lglib-2.0-lpangocairo-1.0 -lpango-1. +0 -lgobject-2.0 -lglib-2.0 -lcairo|
Can anyone tell me what the heck is going on? I am at a complete loss as to where to look for the problem, which started around 2-3 months ago. Before that the same code worked as expected.
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |