Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Michael Peppler <mpeppler at MBAY dot NET>
Subject: Re: Problems Compiling SybPerl for Linux (Anyone Know?)
Date: Oct 19 1997 10:50PM

Jay T. Millar wrote:
> Andreas Schmidt wrote:
> >
> > Hi Jay,
> >
> > did you see Nathan Harper's posting "RE: More Problems installing Sybperl
> > under Linux" (14 Oct):
> >
> > >Anyone else who is having trouble with ld crashing during the link phase on
> > >Linux (Once you've already set LINKTYPE=STATIC and EXTRA_LIBS=libsybtcl,
> > >assuming you're using the ELF port of the CTlib and have followed the
> > >README for Sybperl) may want to try copying libsybtcl.a to libtcl.a.  This
> > >allowed me to successfully link sybperl on machines running Red Hat that
> > >had been troublesome before.  I'm not sure why this had anything to do with
> > >it since the EXTRA_LIBS flag was set, but it worked.
> > >
> > >Nathan Harper
> >
> No, I didn't see Nathan's post as I just joined the list.  However, I
> tried the above and it worked perfectly!  I now have a working sybperl
> binary.  Very, very nice.
> Thanks for the quick response and info.
> However, I now have two questions:
> 1. Despite the fact that everything on my system is setup (to the best
> of my knowledge) to point at /opt/sybase as the $SYBASE home directory,
> I get errors when I use sybperl in CGI scripts which state that the home
> directory is assigned to '/home/sybase', and that it can't find the
> files it needs.  If I copy the contents of /opt/sybase to /home/sybase,
> everything works fine.  I don't understand where this assignment is
> coming from.  I even explicitly set the SYBASE environment variable to
> '/opt/sybase' in the script.  Anything obvious I'm missing?

You probably have an entry in /etc/passwd for sybase which 
specifies the home directory as /home/sybase.

Make sure that you set $ENV{SYBASE} in a BEGIN block, so that it
gets assigned *before* the Sybase modules are loaded.

> 2. Given the somewhat hackish method the elf version of ctlib was
> derived for Linux, what does anyone think the 'life-expectancy', or
> useful life of these libraries are?  I'm afraid that if I use sybperl on
> a Linux box to develop, that in time Sybase will move on,
> and my database engine will no longer be accessible via this method.
> Has this been discussed before?

The issue is more one of having the sybase libraries going out of synch 
with the Linux tools and libraries. As the libs were compiled as
static a.out archives for a now outdated version of Linux the
risks are that at some point the libs will become so outdated that
it won't be possible to link against them anymore.

Having Sybase's protocol go out of synch with the libs is 
pretty much a non-issue, as you can still use DBlibrary 4.0 (1989) to
talk to a System 11 server (although some functionality is lost). The
protocol is built so that there is a negociation of capabilities,
and the client and the server agree on what they are both
capable of. This why it is possible to use the Sybase libraries
(pretty much any version) to talk to an MS-SQL 6.x server.

Michael Peppler       -||-  Data Migrations Inc.  -||-