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: Zion_Huang at focusppo dot com
Subject: undefined sybmol problem
Date: May 10 1999 8:22PM

To All the Helpers:

The platform is linux 2.0.36
perl verision  5.005.03
sybperl version  2.10_01
sybase version 11.0.3.3

perl Makefile.PL, make, make test and make install all run fine and passed.

I then created a test perl script to see how solid it is.

Here is the error message I got:

[zhhuan@linuxppp zhhuan]$ perl -x x1
Can't load
'/usr/lib/perl5/site_perl/5.005/i486-linux/auto/Sybase/DBlib/DBlib.so
' for module Sybase::DBlib:
/usr/lib/perl5/site_perl/5.005/i486-linux/auto/Sybas
e/DBlib/DBlib.so: undefined symbol: dirty at
/usr/lib/perl5/5.00503/i486-linux/D
ynaLoader.pm line 169.

 at x1 line 34
BEGIN failed--compilation aborted at x1 line 34.


Here is the x1 perl script:
#!/bin/perl
# Message number 3612-3615 are statistics time / statistics io
# message. Showplan messages are numbered 6201-6225.
# (I hope I haven't forgotten any...)


@sh_msgs = (3612 .. 3615, 6201 .. 6225);
@showplan_msg{@sh_msgs} = (1) x scalar(@sh_msgs);

sub showplan_handler {
        my ($db, $message, $state, $severity, $text,
                $server, $procedure, $line) = @_;

        # Don't display 'informational' messages:
        if ($severity > 10) {
                print STDERR ("Sybase message ", $message, ",
                   Severity ", $severity, ", state ", $state);
                print STDERR ("\nServer `", $server, "'") if defined
($server);
                print STDERR ("\nProcedure `", $procedure, "'")
                          if defined ($procedure);
                print STDERR ("\nLine ", $line) if defined ($line);
                print STDERR ("\n    ", $text, "\n\n");
        }
        elsif($showplan_msg{$message}) {
        # This is a HOWPLAN or STATISTICS message, so print it out:
                print STDERR ($text, "\n");
        }
        elsif ($message == 0) {
                print STDERR ($text, "\n");
        }

        0;
}


use Sybase::DBlib;
dbmsghandle(\&showplan_handler);

$dbh = new Sybase::DBlib  'sa', 'testmachine', 'ss04tenfocus';

$dbh->dbsetopt(DBSHOWPLAN);
$dbh->dbsetopt(DBSTAT, "IO");
$dbh->dbsetopt(DBSTAT, "TIME");

$dbh->dbcmd("sp_who ");
$dbh->dbsqlexec;
while($dbh->dbresults != NO_MORE_RESULTS) {
    while(@dat = $dbh->dbnextrow) {
        print "@dat\n";
    }
}

I have the same script run fine on solairs box with sybase 11.0.2.

Thanks in advance,


Zion