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: Michael Peppler <mpeppler at MBAY dot NET>
Subject: Re: Sybperl on Digital Unix
Date: Sep 5 1997 4:46PM

DR Thiede wrote:
> 
> Thanks Michael!
> 
> This explains why my cludge fix that I described sometime ago worked
> (sortof). I had been removing the *.so files from the sybase directory
> when building sybperl and sticking them back afterword. That would force
> the DBlib.so file to include the *.a version of the file and produce a
> much bigger shared library. Removing the -ldb is much more elegant and
> produces a MUCH smaller DBlib.so file. All of the tests seem to work
> properly and a sampling of my scripts also work.
> 
> The question that I have is: Does the removal of -ldb from config.sh
> remove any functionality from perl or is it harmless?

It is harmless, as long as the DB_File extension includes it when
it builds (which I'm pretty sure it does).

Of course if you don't use DB_File, then removing -ldb is
definitely not going to be a problem.

Michael


> > 
> >
> > >   Linker and Libraries:
> > >     ld='ld', ldflags =' -L/usr/local/lib'
> > >     libpth=/usr/local/lib /usr/shlib /shlib /lib /usr/lib
> /usr/ccs/lib
> > >     libs=-ldbm -ldb -lm
> >               ^^^^^^
> >               here's the culprit (or at least one of them!)
> >
> > You have berkeley DB installed on your system, and perl
> (unfortunately,
> > and incorrectly) links -ldb to the main perl executable, instead of
> > linking it only to DB_File.so.
> >
> > I say unforntunately, because both Berkeley DB and Sybase DB library
> > have a function called dbopen().
> >
> > Solution:
> >       1. Edit the Berkeley DB sources, change dbopen() to DBopen()
> >       (for example), rebuild berkeley DB, rebuild perl, rebuild
> >       sybperl.
> >
> >       2. Edit perl's config.sh and remove all occurances of -ldb.
> >       Regenerate the Makefile's (run ./Configure -S)
> >       Rebuild perl, rebuild sybperl.

-- 
Michael Peppler       -||-  Data Migrations Inc.
mpeppler@datamig.com  -||-  http://www.mbay.net/~mpeppler