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.
> > > Linker and Libraries:
> > > ld='ld', ldflags =' -L/usr/local/lib'
> > > libpth=/usr/local/lib /usr/shlib /shlib /lib /usr/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
> > 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.
email@example.com -||- http://www.mbay.net/~mpeppler