Debian Developers - unixODBC vs. iODBC

This is Interesting: Free IT Magazines  
Home > Archive > Debian Developers > March 2005 > unixODBC vs. iODBC





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author unixODBC vs. iODBC
Peter Eisentraut

2005-03-31, 6:26 pm

Debian currently ships two ODBC driver managers, unixODBC (source
package "unixodbc") and iODBC (source package "libiodbc2"). These
basically do the same thing. Every package that wants to provide
database access through ODBC has to pick at build time which driver
manager to use. That in turn forces the user to set up each ODBC
drivers twice, once for each driver manager. This process must seem
pretty arbitary from the user's point of view.

Well, the above is mostly true because you can build the program one way
and the driver the other way and it might still work, but who really
knows?

Should we somehow declare one or the other as the preferred driver
manager, thus making it easier for users and perhaps developers?

I'm not attached to either camp, but here are some data points:

- Currently 18 packages use unixODBC, 11 use iODBC.

- Both myodbc (MySQL ODBC driver) and psqlodbc (PostgreSQL ODBC driver)
build against unixODBC.

- unixODBC comes with a buch of GUI tools, iODBC does not.

- Both are still developed upstream.

- libiodbc2 has been RFA'd by the current maintainer for over a year.

- The lastest PostgreSQL ODBC driver fails to build with iODBC.

Well, you can guess what my pick is. Other comments?

--
Please copy me on replies.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Brian Nelson

2005-03-31, 6:26 pm

On Thu, Mar 31, 2005 at 09:53:57PM +0200, Peter Eisentraut wrote:
> Debian currently ships two ODBC driver managers, unixODBC (source
> package "unixodbc") and iODBC (source package "libiodbc2"). These
> basically do the same thing. Every package that wants to provide
> database access through ODBC has to pick at build time which driver
> manager to use. That in turn forces the user to set up each ODBC
> drivers twice, once for each driver manager. This process must seem
> pretty arbitary from the user's point of view.

[...]
> I'm not attached to either camp, but here are some data points:
>
> - Currently 18 packages use unixODBC, 11 use iODBC.
>
> - Both myodbc (MySQL ODBC driver) and psqlodbc (PostgreSQL ODBC driver)
> build against unixODBC.
>
> - unixODBC comes with a buch of GUI tools, iODBC does not.
>
> - Both are still developed upstream.
>
> - libiodbc2 has been RFA'd by the current maintainer for over a year.
>
> - The lastest PostgreSQL ODBC driver fails to build with iODBC.
>
> Well, you can guess what my pick is. Other comments?


Qt in Debian must build against libiodbc2-dev because otherwise it would
have a circular build-dependency with unixodbc.

--
Society is never going to make any progress until we all learn to
pretend to like each other.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Stephen Frost

2005-03-31, 6:26 pm

* Brian Nelson (pyro@debian.org) wrote:
> Qt in Debian must build against libiodbc2-dev because otherwise it would
> have a circular build-dependency with unixodbc.


Circular build-deps aren't necessairly a real problem. There's a fair
amount of other stuff which have them and in general I think mostly
it's just a bootstrapping issue.

Doesn't seem like a good enough reason to keep around something no one
seems to want...

Stephen

Steve Langasek

2005-03-31, 6:26 pm

On Thu, Mar 31, 2005 at 09:53:57PM +0200, Peter Eisentraut wrote:

>That in turn forces the user to set up each ODBC drivers twice, once for
> each driver manager.


Not true; the driver managers are supposed to share config files.

> Well, the above is mostly true because you can build the program one way
> and the driver the other way and it might still work, but who really
> knows?


Hrm? I periodically test binary compatibility between UnixODBC and iODBC
before uploading new versions of UnixODBC. In the past, I've also
specifically continued to build some drivers against libiodbc2-dev instead
of unixodbc-dev for testing purposes, but I think I dropped that due to lack
of solid 64-bit support in iODBC at the time.

> Should we somehow declare one or the other as the preferred driver
> manager, thus making it easier for users and perhaps developers?


Christian and I have discussed this in the past. He has repeatedly asked
for someone to take over maintenance of iODBC; he's offered it to me, but my
answer was that if no one else wanted to maintain it, I would kill it off
instead.

The main reason for not killing it off is indeed the wretched circular
build-dep with Qt. I'm not willing to drop the Qt-based GUI tools from
UnixODBC, and the Qt maintainers were not willing to fix Qt's inane
build-dependency on ODBC. This would surely make Qt<->UnixODBC the largest,
ugliest circular build-dep in Debian if not fixed somehow.

> - Both myodbc (MySQL ODBC driver) and psqlodbc (PostgreSQL ODBC driver)
> build against unixODBC.


and freetds (MSSQL/Sybase ODBC driver).

--
Steve Langasek
postmodern programmer

Paul TBBle Hampson

2005-03-31, 8:54 pm

On Thu, Mar 31, 2005 at 09:53:57PM +0200, Peter Eisentraut wrote:
> Debian currently ships two ODBC driver managers, unixODBC (source
> package "unixodbc") and iODBC (source package "libiodbc2"). These
> basically do the same thing. Every package that wants to provide
> database access through ODBC has to pick at build time which driver
> manager to use. That in turn forces the user to set up each ODBC
> drivers twice, once for each driver manager. This process must seem
> pretty arbitary from the user's point of view.


(It also seems pretty arbitrary from my point of view, as a maintainer
who doesn't use either. ^_^)

> I'm not attached to either camp, but here are some data points:


> - Currently 18 packages use unixODBC, 11 use iODBC.


For the record, FreeRADIUS users iODBC, but I plan, after Sarge ships,
to move to unixODBC with FreeRADIUS 1.1.0.

> - The lastest PostgreSQL ODBC driver fails to build with iODBC.


... although if this issue hits sarge, I'm going to have to change
earlier since FreeRADIUS cannot link directly with libpq in Debian.

--
-----------------------------------------------------------
Paul "TBBle" Hampson, MCSE
8th year CompSci/Asian Studies student, ANU
The Boss, Bubblesworth Pty Ltd (ABN: 51 095 284 361)
Paul.Hampson@Anu.edu.au

"No survivors? Then where do the stories come from I wonder?"
-- Capt. Jack Sparrow, "Pirates of the Caribbean"

This email is licensed to the recipient for non-commercial
use, duplication and distribution.
-----------------------------------------------------------

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com