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: Steve Schweinhart <sschwein at aol dot net>
Subject: IRIX 64bit problem
Date: Nov 8 2000 9:58PM

Hello,

I've just joined this list and I work as a Perl tools programmer at AOL.

I have compiled a 64 bit version of Perl on an IRIX64 6.5 system.   That
works just fine.  Now I am trying to get SybPerl to work.  I have been
able to get it to compile with minimum changes to the Makefile.PL files
(basically appending "64" to the list of libraries to include).  A 32
bit version of Perl and SybPerl runs successfully with the same contents
of PWD.

However, when I run make test for CTlib for the 64 bit version, I get
this error:

-------------------------------------------------------------------------------------
        PERL_DL_NONLAZY=1 /usr/local/bin/perl -I../blib/arch
-I../blib/lib -I/usr/local/lib/perl5/5.6.0/IP27-irix
-I/usr/local/lib/perl5/5.6.0 -e 'use Test::Harness qw(&runtests
$verbose); $verbose=0; runtests @ARGV;' t/*.t
t/ctlib.............
Open Client Message:
Message number: LAYER = (111) ORIGIN = (110) SEVERITY = (102) NUMBER =
(105)
Message String: g(SET,NETIO): user api layer: external error: An illegal
value of 0 given for parameter buffer.
Operating System Error: 
Sybase::CTlib initialize: ct_config(netio) failed at
/usr/local/lib/perl5/5.6.0/IP27-irix/DynaLoader.pm line 219.
Compilation failed in require at t/ctlib.t line 11.
BEGIN failed--compilation aborted at t/ctlib.t line 11.
t/ctlib.............dubious                                                  
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-30
        Failed 30/30 tests, 0.00% okay
-------------------------------------------------------------------------------------

It is failing on the buffer param (4th param) in this call in CTlib.c:

    if((retcode = ct_config(context, CS_SET, CS_NETIO, &netio_type,
                            CS_UNUSED, NULL)) != CS_SUCCEED)
        croak("Sybase::CTlib initialize: ct_config(netio) failed");

But netio_type and &netio_type contain the right values during
execution.

I do get these warnings during compilation:

-------------------------------------------------------------------------------------
.
.
.
AutoSplitting ../blib/lib/Sybase/CTlib.pm
(../blib/lib/auto/Sybase/CTlib)
        /usr/local/bin/perl -I/usr/local/lib/perl5/5.6.0/IP27-irix
-I/usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp
-prototypes -typemap /usr/local/lib/perl5/5.6.0/ExtUtils/typemap
CTlib.xs > CTlib.xsc && mv CTlib.xsc CTlib.c
        cc -64 -c -I/usr/sybase/include -D_BSD_TYPES -D_BSD_TIME -woff
1009,1110,1174,1184,1552 -OPT:Olimit=0:space=ON -DLANGUAGE_C -O3     
-DVERSION=\"2.12\"  -DXS_VERSION=\"2.12\" 
-I/usr/local/lib/perl5/5.6.0/IP27-irix/CORE -DCTLIBVS=100
-DSYBPLVER='"2.12"' -DDO_TIE -mips3 CTlib.c

"CTlib.xs", line 1154: warning(1178): argument is incompatible with
          corresponding format string conversion
            sprintf(info->datafmt[i].name, "%s(%d)", agg_op_name,
agg_op);
                                                                  ^

"CTlib.xs", line 1689: warning(1048): cast between pointer-to-object and
          pointer-to-function
                          (CS_VOID *)clientmsg_cb)) != CS_SUCCEED)
                          ^

"CTlib.xs", line 1692: warning(1048): cast between pointer-to-object and
          pointer-to-function
                              (CS_VOID *)servermsg_cb)) != CS_SUCCEED)
                              ^

"CTlib.xs", line 1696: warning(1048): cast between pointer-to-object and
          pointer-to-function
                              (CS_VOID *)notification_cb)) !=
CS_SUCCEED)
                              ^

"CTlib.xs", line 5728: warning(1551): variable "hv" is used before its
value
          is set
            hv_store(hv, (char*)info->cmd, sizeof(info->cmd),
newSViv((IV)info), 0);
                     ^

Running Mkbootstrap for Sybase::CTlib ()
        chmod 644 CTlib.bs
        LD_RUN_PATH="/usr/sybase/lib" cc -64 -o
../blib/arch/auto/Sybase/CTlib/CTlib.so -rpath "/usr/sybase/lib"
-L/usr/sybase/lib -64 -shared -L/usr/local/lib64 -L/usr/local/lib
-L/usr/lib64 CTlib.o    -L/usr/sybase/lib -lct64 -lcs64 -ltcl64 -lcomn64
-lintl64 
.
.
.
        /usr/local/bin/perl -I/usr/local/lib/perl5/5.6.0/IP27-irix
-I/usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp
-prototypes -typemap /usr/local/lib/perl5/5.6.0/ExtUtils/typemap
DBlib.xs > DBlib.xsc && mv DBlib.xsc DBlib.c
        cc -64 -c -I/usr/sybase/include -D_BSD_TYPES -D_BSD_TIME -woff
1009,1110,1174,1184,1552 -OPT:Olimit=0:space=ON -DLANGUAGE_C -O3     
-DVERSION=\"2.12\"  -DXS_VERSION=\"2.12\" 
-I/usr/local/lib/perl5/5.6.0/IP27-irix/CORE -DDBLIBVS=1000
-DSYBPLVER='"2.12"' -DDO_TIE -mips3 DBlib.c


"DBlib.xs", line 3856: warning(1178): argument is incompatible with
          corresponding format string conversion
                    sprintf(buff,"%d",*(DBINT *)data);
                                      ^

"DBlib.xs", line 4109: warning(1178): argument is incompatible with
          corresponding format string conversion
                    sprintf(buff,"%d",*(DBINT *)data);
                                      ^

"DBlib.xs", line 4385: warning(1164): argument of type "char *" is
          incompatible with parameter of type "CS_BYTE *"
      RETVAL = dbmoretext(dbproc, size, buf);
                                        ^

Running Mkbootstrap for Sybase::DBlib ()
        chmod 644 DBlib.bs
        LD_RUN_PATH="/usr/sybase/lib" cc -64 -o
../blib/arch/auto/Sybase/DBlib/DBlib.so -rpath "/usr/sybase/lib"
-L/usr/sybase/lib -64 -shared -L/usr/local/lib64 -L/usr/local/lib
-L/usr/lib64 DBlib.o    -L/usr/sybase/lib -lsybdb64 
        chmod 755 ../blib/arch/auto/Sybase/DBlib/DBlib.so
        cp DBlib.bs ../blib/arch/auto/Sybase/DBlib/DBlib.bs
        chmod 644 ../blib/arch/auto/Sybase/DBlib/DBlib.bs
.
.
.

Thanks for any assistance,

Steve

-- 
Steve Schweinhart                   "For it is the doom of men,
America Online                       that they forget."
sschwein@aol.net                             --  Merlin (Excalibur)