Subject: Re: Two Conflicting Packages
To: Yosep <yoskim@NMSU.Edu>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-pkg
Date: 07/29/2003 10:29:42
  I am working on a package that depends on two packages that conflict each
  other.  Namely, iodbc and unixodbc are the packages.  Iodbc has a library
  (libiodbc.a) that I need for the package I am working on, whereas Unixodbc
  contains a header file (sqlucode.h) that I also need for the package.
  But, I can only get one of the two on my machine, since having two
  conflicted packages are not allowed.

This is a sign that either you are doing something wong, the program
you are trying to package is broken, or the underlying packages need
to be split out differently.

I am not enough of an ODBC weenie to answer definitively, but ODBC
defines an API, programs are written to use that API, and ODBC
libraries provide an implementation of that API.  An API definition
needs to specify what header files to include, and what functions are
available.  I didn't find a real ODBC specification on the web in a
few minutes.  The closest was at MS

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odch21apr.asp

and it doesn't seem to mention include files as part of the API
reference.

It sounds as if either:

  the program you are packaging expects a nonstandard header
or
  iodbc doesn't provide a standard header

iodbc and unixodbc really do conflict; they both provide the same 3
include files:
  include/sql{,ext,types}.h.

I suppose one could split the packages into a odbc-includes, and then
multiple odbc lib implementations.  But it seems better to fix the
program you are packaging.  How does it work on other platforms?  Do
RH and Debian let one install both unixodbc and iodbc at the same time?

-- 
        Greg Troxel <gdt@ir.bbn.com>