On Wed, 13 Jul 2011 08:25:00 +0300, Niko Tyni wrote:

> See http://www.gossamer-threads.com/lists/perl/porters/254012
> 
> It should be enough to do something like
> 
>  perl -pi -e 'for my $c (qw(yes no undef)) { s/\bsv_$c\b/PL_sv_$c/}' dbdimp.c 
> Sybase.xs
> 
> and it's possible to test this with Perl 5.12 by removing the 
> #define PERL_POLLUTE line from DBIXS.h.
> 
> It looks like this was fixed upstream in DBD-Sybase-1.11
> ("Remove reliance on PERL_POLLUTE") so tagging accordingly.

Looking at the diff at
http://search.cpan.org/diff?from=DBD-Sybase-1.10&to=DBD-Sybase-1.11#Sybase.xs
this looks suspiciously like Niko's suggestion.

If tried to build it now with Niko's command and a changed DBIXS.h,
but the package FTBFS later:

#v+
   dh_auto_build
make[1]: Entering directory `/tmp/buildd/libdbd-sybase-perl-1.09'
cp dbd-sybase.pod blib/lib/DBD/dbd-sybase.pod
cp Sybase.pm blib/lib/DBD/Sybase.pm
/usr/bin/perl -p -e "s/~DRIVER~/Sybase/g" /usr/lib/perl5/auto/DBI/Driver.xst > 
Sybase.xsi
/usr/bin/perl /usr/share/perl/5.12/ExtUtils/xsubpp  -typemap 
/usr/share/perl/5.12/ExtUtils/typemap  Sybase.xs > Sybase.xsc && mv Sybase.xsc 
Sybase.c
cc -c  -I/usr/include -DNO_BLK=1 -I/usr/lib/perl5/auto/DBI -D_REENTRANT 
-D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security 
-Werror=format-security   -DVERSION=\"1.09\" -DXS_VERSION=\"1.09\" -fPIC 
"-I/usr/lib/perl/5.12/CORE"   Sybase.c
cc -c  -I/usr/include -DNO_BLK=1 -I/usr/lib/perl5/auto/DBI -D_REENTRANT 
-D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security 
-Werror=format-security   -DVERSION=\"1.09\" -DXS_VERSION=\"1.09\" -fPIC 
"-I/usr/lib/perl/5.12/CORE"   dbdimp.c
dbdimp.c: In function 'cslibmsg_cb':
dbdimp.c:194:4: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:194:4: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c:197:4: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:197:4: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c: In function 'clientmsg_cb':
dbdimp.c:285:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:285:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c:288:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:288:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c:341:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:341:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c:343:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'int' [-Wformat]
dbdimp.c:343:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'int' [-Wformat]
dbdimp.c: In function 'servermsg_cb':
dbdimp.c:374:6: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_MSGNUM' [-Wformat]
dbdimp.c:374:6: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c:376:6: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_INT' [-Wformat]
dbdimp.c:376:6: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c:510:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_MSGNUM' [-Wformat]
dbdimp.c:510:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c:513:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_INT' [-Wformat]
dbdimp.c:513:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c:550:6: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_MSGNUM' [-Wformat]
dbdimp.c:550:6: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c:552:6: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_INT' [-Wformat]
dbdimp.c:552:6: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'CS_INT' [-Wformat]
dbdimp.c: In function 'syb_db_opentran':
dbdimp.c:1934:2: warning: format '%x' expects argument of type 'unsigned int', 
but argument 3 has type 'struct imp_dbh_t *' [-Wformat]
dbdimp.c: In function 'syb_db_STORE_attrib':
dbdimp.c:2270:102: error: 'na' undeclared (first use in this function)
dbdimp.c:2270:102: note: each undeclared identifier is reported only once for 
each function it appears in
dbdimp.c: In function 'syb_alloc_cmd':
dbdimp.c:2460:3: warning: format '%x' expects argument of type 'unsigned int', 
but argument 3 has type 'struct CS_COMMAND *' [-Wformat]
dbdimp.c:2460:3: warning: format '%x' expects argument of type 'unsigned int', 
but argument 4 has type 'struct CS_CONNECTION *' [-Wformat]
dbdimp.c: In function 'cmd_execute':
dbdimp.c:3604:5: warning: format '%x' expects argument of type 'unsigned int', 
but argument 3 has type 'struct CS_COMMAND *' [-Wformat]
dbdimp.c:3604:5: warning: format '%x' expects argument of type 'unsigned int', 
but argument 5 has type 'struct imp_sth_t *' [-Wformat]
dbdimp.c: In function 'syb_st_destroy':
dbdimp.c:4128:3: warning: format '%x' expects argument of type 'unsigned int', 
but argument 3 has type 'struct imp_sth_t *' [-Wformat]
dbdimp.c:4160:4: warning: format '%x' expects argument of type 'unsigned int', 
but argument 3 has type 'struct CS_COMMAND *' [-Wformat]
dbdimp.c: In function '_dbd_rebind_ph':
dbdimp.c:4845:6: warning: format '%ld' expects argument of type 'long int', but 
argument 5 has type 'IV' [-Wformat]
dbdimp.c:4973:5: warning: format '%d' expects argument of type 'int', but 
argument 5 has type 'long int' [-Wformat]
dbdimp.c: In function 'syb_bind_ph':
dbdimp.c:5108:5: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'IV' [-Wformat]
dbdimp.c:5108:5: warning: format '%ld' expects argument of type 'long int', but 
argument 4 has type 'IV' [-Wformat]
dbdimp.c: In function 'fetch_data':
dbdimp.c:5193:4: warning: format '%ld' expects argument of type 'long int', but 
argument 3 has type 'CS_INT' [-Wformat]
make[1]: *** [dbdimp.o] Error 1
make[1]: Leaving directory `/tmp/buildd/libdbd-sybase-perl-1.09'
#v-

I guess upgrading to a recent upstream version would be more helpful
than fixing some single aspects.

(A quick uupdate fails because of some direct changes to the upstream code.)


Cheers,
gregor
 
-- 
 .''`.   Homepage: http://info.comodo.priv.at/ - OpenPGP key ID: 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: Rebekka Bakken: Nobody's Fool

Attachment: signature.asc
Description: Digital signature

Reply via email to