develooper Front page | perl.perl5.porters | Postings from September 2011

Location of xsubpp

Thread Next
David E. Wheeler
September 12, 2011 16:33
Location of xsubpp
Message ID:

I tried to download and build PostgreSQL 9.1.0, which was released today, with PL/Perl support. However, I got this error:

make -C plperl install
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv  -I. -I. -I../../../src/include -I/usr/local/include/libxml2  -I/usr/local/include -I/usr/local/lib/perl5/5.14.1/darwin-thread-multi-2level/CORE  -c -o plperl.o plperl.c
'/usr/local/bin/perl' /usr/local/lib/perl5/5.14.1/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.14.1/ExtUtils/typemap SPI.xs >SPI.c
Can't open perl script "/usr/local/lib/perl5/5.14.1/ExtUtils/xsubpp": No such file or directory

I poked around, and found that my copy of xsubpp is installed as


I assume this is because I've installed a newer version of ExtUtils::ParseXS from CPAN installing building 5.14.1. I installed it with `make install UNINST=1`, which I assume is why PostgreSQL can't find xsubpp anymore.

I chatted with Andrew Dunstan, the PL/Perl maintainer, and he tells me that PostgreSQL looks in $Config{privlibexp} for ExtUtils/xsubpp. He's never had anyone complain of this issue before, so suggested I just symlink the file. However, I'm wondering if that's really the "correct" way to do things. It turns out that xsubpp is also in Perl's bin directory. So maybe it makes sense to instead look for it in one of `@Config{qw(installsitebin installvendorbin installbin)}`?

If not, then what is the recommended way to find xsubpp when building apps that embed the Perl interpreter?


Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About