|
|
sybperl-l Archive
Up Prev Next
From: DR Thiede <David dot Thiede at pnl dot gov>
Subject: Re: Sybperl on Digital Unix
Date: Sep 5 1997 4:08PM
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?
Dave Thiede
>
>
> > 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
> --
> Michael Peppler -||- Data Migrations Inc.
> mpeppler@datamig.com -||- http://www.mbay.net/~mpeppler
|