Re: Patch: Perl xsubpp - Mailing list pgsql-hackers
| From | Alex Hunsaker |
|---|---|
| Subject | Re: Patch: Perl xsubpp |
| Date | |
| Msg-id | CAFaPBrQt_hKM3MtMAbfm9F5ffHAXcLow_iEsZFDMq6Tud8WuWw@mail.gmail.com Whole thread Raw |
| In response to | Patch: Perl xsubpp ("David E. Wheeler" <david@kineticode.com>) |
| Responses |
Re: Patch: Perl xsubpp
|
| List | pgsql-hackers |
On Thu, Sep 15, 2011 at 10:44, David E. Wheeler <david@kineticode.com> wrote:
> Hackers,
>
> Since installing Perl 5.14.1, I installed newer version of ExtUtils::ParseXS from CPAN. I installed it with `make
installUNINST=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/typemapSPI.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(installsitebininstallvendorbin 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; } }
pgsql-hackers by date: