On Thu, Sep 15, 2011 at 10:44, David E. Wheeler <da...@kineticode.com> wrote: > Hackers, > > Since installing Perl 5.14.1, I installed newer version of ExtUtils::ParseXS > from CPAN. I installed it with `make install UNINST=1`, which removes the > copy of xsubpp that ships with core Perl. This results in an error during > PostgreSQL `make`: > > 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 [asked][] Perl 5 Porters for the proper way to find xsubpp, and was > [told][] that it was probably best to look in @Config{qw(installsitebin > installvendorbin installbin)}.
Doesn't work for me :-( I have: 'installbin' => '/usr/bin', 'installsitebin' => '/usr/bin', 'installvendorbin' => '/usr/bin', 'installscript' => '/usr/bin/core_perl', 'installprivlib' => '/usr/share/perl5/core_perl', 'installsitescript' => '/usr/bin/site_perl', $ ls /usr/bin/xsubpp ls: cannot access /usr/bin/xsubpp: No such file or directory $ ls /usr/bin/core_perl/xsubpp /usr/bin/core_perl/xsubpp The worst part is it tells me I need to configure with --with-perl. Seems it complaining that it couldn't find xsubpp, I did configure with perl! Normally it uses the one in /usr/share/perl5/core_perl/ExtUtils/xsubpp. Also it looks like it uses the wrong typemap file, still uses the one from privlib. So then I tried to install the newer ExtUtils::ParseXS to see where it installed xsubpp for me. It reports: ... Installing /usr/share/perl5/site_perl/ExtUtils/xsubpp .... Installing /usr/bin/site_perl/xsubpp Looking at its makefile looks like installs xsubpp into installsitescript. Seems install(site|vendor)bin is quite right :-(. ExtUtils searches @INC, privlibexp maybe we should do that? ExtUtils/MM_Unix.pm: # line 3456 sub tool_xsubpp { .... my @xsubpp_dirs = @INC; # Make sure we pick up the new xsubpp if we're building perl. unshift @xsubpp_dirs, $self->{PERL_LIB} if $self->{PERL_CORE}; foreach my $dir (@xsubpp_dirs) { $xsdir = $self->catdir($dir, 'ExtUtils'); if( -r $self->catfile($xsdir, "xsubpp") ) { last; } } -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers