|
|
sybperl-l Archive
Up Prev Next
From: Rick Perron <rick at ties dot org>
Subject: Re: Sybperl on Digital Unix
Date: Sep 5 1997 6:58PM
> > 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
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 into
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 compiler
and linker being COMPLETELY replaced between 4.0A and 4.0B.
--
Rick Perron
rick@ties.org
|