Robert Denton wrote:
Hi, I am hoping someone here recognizes this problem:
I have installed unixODBC for use as a driver manager for DBD::ODBC.
However, when I run the command: 'cpan DBD::ODBC' I end up with the
following error:
Hmm...I cannot find an ODBC driver manager that I recognize.
...And I know about these drivers:
Microsoft ODBC, adabas, easysoft, empress, esodbc, informix,
intersolve, iodbc, sapdb, solid, udbc, unixodbc
Warning: No success on command[/usr/bin/perl Makefile.PL]
CPAN: YAML loaded ok (v0.62)
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Perhaps the problem is that the ODBCHOME env var is set wrong? I have
tried the following:
export ODBCHOME=/usr/bin
export ODBCHOME=/etc
both yield the same results... Could someone make a recommedation?
Thanks!!
Robert
First, make sure you've installed unixODBC fully i.e. if you installed
from some sort of package (not from source) you installed development
support or you won't have the necessary headers (e.g. sql.h, sqlext.h,
sqltypes.h etc).
DBD::ODBC needs to know where to find:
o sql*.h header files
o libodbc.so, the ODBC driver manager.
It is expected they all reside under a single path e.g. /usr/local in
which the headers are looked for in /usr/local/etc and the libraries in
/usr/local/lib (in this case you'd set ODBCHOME to /usr/local). It may
be your unixODBC is installed such that headers are in /etc and
libraries in /lib (in which case ODBCHOME should be /). If you have
unixODBC installed not under a single path (e.g. headers in /etc and
libraries in /usr/lib) this will cause you a problem since DBD::ODBC
does not expect this and there is no way to specify different locations.
In this latter case you will have to hack the Makefile.PL or Makefile or
reinstall unixODBC under a single path.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com