Up Prev Next
From: DR Thiede <David dot Thiede at pnl dot gov>
Subject: Re: Sybperl on Digital Unix
Date: Sep 5 1997 7:57PM
> > > 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
> > --
> > Michael Peppler -||- Data Migrations Inc.
> > email@example.com -||- http://www.mbay.net/~mpeppler
> That seemed to be it. Unfortunately Berkeley DB is installed on
> Digital Unix 4.0B by default. It would appear to be part of the BASE
> installation. I assume this is new with 4.0B, because I didn't run
> this under Digital Unix 4.0A.
> Also, now I can't seem to build it for dynamic loading without setting
> LD_LIBRARY_PATH. :( I assume this has something to do with the
> and linker being COMPLETELY replaced between 4.0A and 4.0B.
> Rick Perron
I use 'ln -s' to link the includes and libraries to
/usr/local/(include|lib). That way the libraries are found automagically
and all of the includes are in one spot. It does make things harder when
you run into problems such as above. I use the symbolic links so I can
continue to shuffle files in the sybase area with out messing up the