PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: "Matthew O dot Persico" <persicom at acedsl dot com>
Subject: Re: Bad compilation
Date: Nov 27 2002 3:09AM

On Tue, 26 Nov 2002 11:28:48 -0500, persicom@acedsl.com wrote:
>Quoting Michael Peppler :
>
>>On Mon, 2002-11-25 at 18:33, Matthew O. Persico wrote:
>>>Using perl 5.6.1 and DBI 1.30 and DBD-Sybase 0.95:
>>>
>>>$ perl Makefile.PL Sybase OpenClient 12.5 found.
>>>The DBD::Sybase module need access to a Sybase server to run the
>>>tests.
>>>To clear an entry please enter 'undef' Sybase server to use
>>>(default: sybserv01): User ID to log in to Sybase (default: sa):
>>>Password (default: **********): Checking if your kit is
>>>complete...
>>>Looks good Multiple copies of Driver.xst found in:
>>/opt/perl/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
>>/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI at Makefile.PL
>>line 55
>>>Using DBI 1.30 installed in
>>/opt/perl/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
>>
>>Hmmm - I wonder if this is the problem?
>>
>>>Sybase.c:218:24: Driver_xst.h: No such file or directory
>>
>>I've never seen this - and I build with 5.6.0, 5.6.1, 5.8.0 and DBI
>>1.30 (and various previous versions).
>>
>>Can you do a locate to see if Driver_xst.h is anywhere on your
>>system?
>>
>>It *should* be in /opt/perl/lib/perl5/site_perl/5.6.1/i386-
>>linux/auto/DBI
>>
>>If it's not there then I suspect something went wrong when building
>>DBI.
>>
>
>After posting last night, I uninstalled the 1.30 version of DBI that
>I had installed and went with the 1.20 version that came pre-
>installed as an RPM. All was well. Then it got too late and I had to
>go to bed. I will reinstall DBI 1.30 tonight and compare/contrast
>all files and their locations between 1.20 and 1.30 and let the list
>know.
>
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
Sybase.xsi: In function `XS_DBD__Sybase__db_selectall_arrayref':
Sybase.xsi:86: warning: assignment makes pointer from integer without a cast
Sybase.xsi:95: warning: assignment makes pointer from integer without a cast
Sybase.xsi:113: warning: assignment makes pointer from integer without a cast
Sybase.xsi: In function `XS_DBD__Sybase__db_selectrow_arrayref':
Sybase.xsi:130: warning: assignment makes pointer from integer without a cast
Sybase.xsi: In function `XS_DBD__Sybase__st_fetchall_arrayref':
Sybase.xsi:448: warning: assignment makes pointer from integer without a cast
Sybase.xsi:451: warning: assignment makes pointer from integer without a cast
make: *** [Sybase.o] Error 1

What next?
--
Matthew O. Persico