|
|
sybperl-l Archive
Up Prev Next
From: Michael Peppler <mpeppler at peppler dot org>
Subject: Re: Bad compilation
Date: Nov 27 2002 4:07PM
On Tue, 2002-11-26 at 19:09, Matthew O. Persico wrote:
> Ok: Step one - recompile DBi1.30 and install it into /opt/perl Step
> two - modify PERL5LIB to pick up /opt/per Step three - find DBI:
>
> [910] $ perl_version DBI DBI 1.30 =>
> /opt/perl/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm
>
> Step four find Driver_xst.h:
>
> [911] $ find /opt/perl -name Driver_xst.h
> /opt/perl/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI/Driver_xst.h
>
> Step five - Recompile DBD::Sybase 0.95 BZZZZZZT:
>
> [906] $ make
> cp Sybase.pm blib/lib/DBD/Sybase.pm
> cp dbd-sybase.pod blib/lib/DBD/dbd-sybase.pod
> /usr/bin/perl -p -e "s/~DRIVER~/Sybase/g" < /opt/perl/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI/Driver.xst > Sybase.xsi
> /usr/bin/perl -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 /usr/lib/perl5/5.6.1/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.6.1/ExtUtils/typemap Sybase.xs > Sybase.xsc && mv Sybase.xsc Sybase.c
> cc -c -I/opt/sybase-12.5/OCS/include -I/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI -fno-strict-aliasing -I/usr/local/include -O3 -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math -fno-strength-reduce -DVERSION=\"0.95\" -DXS_VERSION=\"0.95\" -fpic -I/usr/lib/perl5/5.6.1/i386-linux/CORE Sybase.c
> Sybase.c:218:24: Driver_xst.h: No such file or directory
Hmmm.... I think I see where the problem lies. DBD::Sybase's Makefile.PL
tries to find the proper location of the DBI include files, and does so
by *first* searching in $Config{sitearchexp} and *then* in @INC. And it
looks for DBIXS.h, not for Driver_xst.h. Hence the -I entry in the cc
command above that refers to the /usr/lib/perl5/.../DBI directory.
On line 155 of Makefile.PL try changing
my @try = ($Config{sitearchexp}, @INC);
to
my @try = (@INC, $Config{sitearchexp});
and see if that fixes things.
Michael
--
Michael Peppler / mpeppler@peppler.org / http://www.mbay.net/~mpeppler
mpeppler@zetatools.com / ZetaTools, Inc / http://www.zetatools.com
ZetaTools: Call perl functions as Sybase stored procedures!
|