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: "Marcotte, Lawrence" <Lawrence dot Marcotte at LibertyMutual dot com>
Subject: RE: sybperl and perl 5.00401 on AIX
Date: Oct 6 1997 9:34PM

I played around with this today and I still didn't get anywhere


What happened was this:

The first thing I did was rebuild Perl to release 5.00403

I then rebuilt sybperl using my old source files. My makefile gave me
the following output.

********************
Manifying .././blib/man3/Sybase::BCP.3
	/bin/perl -I/usr/local/lib/perl5/aix/5.00401
-I/usr/local/lib/perl5 /usr/local/lib/perl5/ExtUtils/xsubpp -prototypes
-typemap /usr/local/lib/perl5/ExtUtils/typemap CTlib.xs >CTlib.tc && mv
CTlib.tc CTlib.c
	cc -c -I/database/sybase/include -qmaxmem=8192 -D_ALL_SOURCE
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -I/usr/local/include -O
-DVERSION=\"2.07\"  -DXS_VERSION=\"2.07\"
-I/usr/local/lib/perl5/aix/5.00401/CORE -DCTLIBVS=100
-DSYBPLVER='"2.07"' -DDO_TIE CTlib.c
Running Mkbootstrap for Sybase::CTlib ()
	chmod 644 CTlib.bs
	LD_RUN_PATH="/database/sybase/lib:/lib" ld -o
..././blib/arch/auto/Sybase/CTlib/CTlib.so  -L/database/sybase/lib -H512
-T512 -bhalt:4 -bM:SRE
-bI:/usr/local/lib/perl5/aix/5.00401/CORE/perl.exp -bE:CTlib.exp -b
noentry -lc -L/usr/local/lib CTlib.o    -L/database/sybase/lib -lct -lcs
-ltcl -lcomn -lintl -linsck -ltli -lm 
	chmod 755 .././blib/arch/auto/Sybase/CTlib/CTlib.so
	cp CTlib.bs .././blib/arch/auto/Sybase/CTlib/CTlib.bs
	chmod 644 .././blib/arch/auto/Sybase/CTlib/CTlib.bs
	/bin/perl -I/usr/local/lib/perl5/aix/5.00401
-I/usr/local/lib/perl5 /usr/local/lib/perl5/ExtUtils/xsubpp -prototypes
-typemap /usr/local/lib/perl5/ExtUtils/typemap DBlib.xs >DBlib.tc && mv
DBlib.tc DBlib.c
	cc -c -I/database/sybase/include -qmaxmem=8192 -D_ALL_SOURCE
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -I/usr/local/include -O
-DVERSION=\"2.07\"  -DXS_VERSION=\"2.07\"
-I/usr/local/lib/perl5/aix/5.00401/CORE -DDBLIBVS=1000
-DSYBPLVER='"2.07"' -DDO_TIE DBlib.c
Running Mkbootstrap for Sybase::DBlib ()
	chmod 644 DBlib.bs
	LD_RUN_PATH="/database/sybase/lib:/lib" ld -o
..././blib/arch/auto/Sybase/DBlib/DBlib.so  -L/database/sybase/lib -H512
-T512 -bhalt:4 -bM:SRE
-bI:/usr/local/lib/perl5/aix/5.00401/CORE/perl.exp -bE:DBlib.exp -b
noentry -lc -L/usr/local/lib DBlib.o    -L/database/sybase/lib -lsybdb
-ltli -lm 
	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
Target "makemakerdflt" is up to date.
********************
All appeared well

When I run make test I got the following output

********************
	LD_RUN_PATH="/database/sybase/lib:/lib" ld -o
..././blib/arch/auto/Sybase/DBlib/DBlib.so  -L/database/sybase/lib -H512
-T512 -bhalt:4 -bM:SRE
-bI:/usr/local/5.004_03/lib/perl5/aix/CORE/perl.exp -bE:DBlib.exp -b
noentry -lc -L/usr/local/5.004_03/lib -L/usr/local/lib DBlib.o
-L/database/sybase/lib -lsybdb -ltli -lm 
	chmod 755 .././blib/arch/auto/Sybase/DBlib/DBlib.so
	PERL_DL_NONLAZY=1 /tmp/bintest/perl -I.././blib/arch
-I.././blib/lib -I/usr/local/5.004_03/lib/perl5/aix
-I/usr/local/5.004_03/lib/perl5 -e 'use Test::Harness qw(&runtests
$verbose); $verbose=0; runtests @ARGV;' t/*.t
t/bcp...............Value of  construct can be "0"; test with
defined() at .././blib/lib/Sybase/BCP.pm line 567.
Your vendor has not defined Sybase::DBlib macro sql, used at t/bcp.t
line 47 (main).
dubious
	Test returned status 22 (wstat 5632)
DIED. FAILED tests 3-9
	Failed 7/9 tests, 22.22% okay
Failed Test  Status Wstat Total Fail  Failed  List of failed
------------------------------------------------------------------------
------
t/bcp.t          22  5632     9    7  77.78%  3-9
Failed 1/1 test scripts, 0.00% okay. 7/9 subtests failed, 22.22% okay.
make: 1254-004 The error code from the last command is 2.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.

********************

Same old story.

At this point I decided to try a newer version of Sybperl that is
adverised to work better with Perl 5.004.03.  This wouldn't even compile
because it couldn't find a symbol  (bsd_tcp) that it apparently didn't
need before.  Any ideas?

********************
	cc -c -I/database/sybase/include -qmaxmem=8192 -D_ALL_SOURCE
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -I/usr/local/include -O
-DVERSION=\"2.07b\"  -DXS_VERSION=\"2.07b\"
-I/usr/local/5.004_03/lib/perl5/aix/CORE -DCTLIBVS=100
-DSYBPLVER='"2.07b"' -DDO_TIE CTlib.c
	LD_RUN_PATH="/database/sybase/lib:/lib" ld -o
..././blib/arch/auto/Sybase/CTlib/CTlib.so  -L/database/sybase/lib -H512
-T512 -bhalt:4 -bM:SRE
-bI:/usr/local/5.004_03/lib/perl5/aix/CORE/perl.exp -bE:CTlib.exp -b
noentry -lc -L/usr/local/5.004_03/lib -L/usr/local/lib CTlib.o
-L/database/sybase/lib -lct -lcs -ltcl -lcomn -lintl -ltli -lm 
ld: 0711-317 ERROR: Undefined symbol: bsd_tcp
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
make: 1254-004 The error code from the last command is 8.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.


********************
=======================================================
Larry Marcotte
Liberty Mutual
Senior Technical Training Specialist                           225
Borthwick Ave
Phone: 1 603-431-8400 x53064                               Mail Drop -
01S
Fax:   (603) 431-1204
Portsmouth NH
mailto:Lawrence.Marcotte@LibertyMutual.com        03801



On Monday, October 06, 1997 12:15 PM, Michael Peppler
[SMTP:mpeppler@mbay.net] wrote:
> Lawrence & Elizabeth Marcotte wrote:
> > 
> > I recently loaded perl 5.00401 on a server at work.  Sybperl does
not
> > work anymore.  This happened on an AIX machine running v.4 of the
> > operating system.  Has anyone else run into this problem.
> 
> Nancy Stevens wrote:
> > Hi.  I was using CTlib (syb_perl version 2_07), with Perl version
5_003
> > and everything was working fine.  I just upgraded to Perl version
> > 5_004_3 (including the patch) and now when I try to connect to
ctlib, I
> > get the following errors (this in on AIX):
> > 
> > perl -de 0
> > main::(-e:1):   0
> > DB<1> use Sybase::CTlib;
> > DB<2>  $d = Sybase::CTlib->ct_connect(uid, pwd);
> > Signal SEGV at /usr/local/lib/perl5/perl5db.pl line 1067
> >         DB::DB called at -e line 1
> > IOT/Abort trap(coredump)
> 
> 
> As Ed Barlow noted, you need to rebuild sybperl.
> 
> Perl 5.004 has changed some of the internal data structures and calls 
> that it uses, and this is probably what causes the SEGV.
> 
> I didn't immediately connect this problem (that Nancy Stevens also 
> experienced) with the internal changes in perl 5.004 because you 
> get a much more explicit message from Solaris when symbols are 
> missing...
> 
> Michael
> -- 
> Michael Peppler       -||-  Data Migrations Inc.
> mpeppler@datamig.com  -||-  http://www.mbay.net/~mpeppler