Skip to Content.
Sympa Menu

freetds - Re: toward binary compatibility

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Castellano, Nicholas" <Nicholas_Castellano AT acml.com>
  • To: "'TDS Development Group'" <freetds AT franklin.metalab.unc.edu>
  • Subject: Re: toward binary compatibility
  • Date: Wed, 7 Aug 2002 13:55:43 -0400


I've been thinking a lot about "A", and discussing some of the possibilities
with jkl. The main stumbling block, I think, will be dbopen() vs.
tdsdbopen().

We have two choices for binary compatibility here, and I'd like to know
which idea sounds better to the list:

1. (jkl's suggestion): Provide a configure switch that will build FreeTDS
with a dbopen() function instead of tdsdbopen(). If I understand correctly,
this is the way it used to work anyway.

2. (My suggestion): Provide a trivial module dbopen.c as part of the
FreeTDS DB-Library. The dbopen() routine provided by this module would just
hand off the work to the real tdsdbopen() function. The idea here is that
you can link libdbm.a before libdb.a, and you will get the dbopen() function
from libdbm (and you lose OC binary compatibility of course). If you aren't
using libdbm, then your app can get at the dbopen() function from libdb.

Note that my primary objective (for now) is object code binary
compatibility. That is, I have libraries which were originally compiled and
linked with Sybase OpenClient. I'd like to be able to use those same object
libraries linked into code compiled with FreeTDS and linked with the FreeTDS
versions of dblib. Maintaining another copy of those libraries for use with
FreeTDS is a maintenance headache I'd rather not bring upon myself.

-----Original Message-----
From: bounce-freetds-145195 AT franklin.oit.unc.edu
[mailto:bounce-freetds-145195 AT franklin.oit.unc.edu]
Sent: Saturday, August 03, 2002 4:11 PM
To: TDS Development Group
Subject: [freetds] Re: toward binary compatibility


On Sat, 3 Aug 2002, James K. Lowden wrote:
> While I'm on the subject, I've been asked to ask: has anyone tried to
> use FreeTDS as a binary replacement for Sybase's libraries? The poor
> soul in question is interested in using APT Forms (remember that
> one?), and he's wondering what the likelihood of success is if he just
> points his linker at our stuff instead of theirs.

APT! Still go one of those running in our company ;-)

In essence the only thing that needs doing for sybase binary compat is A)
make sure all functions are functions and macros are macros as mentioned
and B) all #define numbers such as SYBINTN et al. need to match.

B is the problem as we have only used number from the sybase headers where
they could be fathomed from third party source code. I'm a little learly
of looking at the sybase headers and importing that into freetds en masse.

A can be done by running 'nm' on libsybdb.a or libc[st].a and making sure
we match.

Brian


---
You are currently subscribed to freetds as: [Nicholas_Castellano AT acml.com]
To unsubscribe, forward this message to
$subst('Email.Unsub')


The information contained in this transmission may contain privileged and
confidential information and is intended only for the use of the person(s)
named above. If you are not the intended recipient, or an employee or agent
responsible for delivering this message to the intended recipient, any
review, dissemination, distribution or duplication of this communication is
strictly prohibited. If you are not the intended recipient, please contact
the sender immediately by reply e-mail and destroy all copies of the
original message. Please note that for certain accounts we do not accept
orders and/or instructions by e-mail, and for those accounts we will not be
responsible for carrying out such orders and/or instructions. Kindly refrain
from sending orders or instructions by e-mail unless you have confirmed that
we accept such communications for your account. Please also note that to
satisfy regulatory requirements we review the outgoing and incoming e-mail
correspondence of staff members serving certain functions.






Archive powered by MHonArc 2.6.24.

Top of Page