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: 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 
/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

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 
links.

Dave Thiede
>