Cannot find ODBC driver

Cannot find ODBC driver

am 24.04.2007 00:29:02 von Robert

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

Re: Cannot find ODBC driver

am 24.04.2007 14:17:43 von martin

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

Re: Cannot find ODBC driver

am 24.04.2007 14:52:29 von Robert

I installed using yum, as in yum install unixODBC. I did a search
for some of those files. a 'find -name sql*.h' yielded a single
result: ./usr/include/sqlite3.h and 'find -name libodbc.so'
yielded: ./usr/lib/libodbc.so

Do you recommend I unyum it and and install from source? I would
hope that if it is yumable then the yum install would suffice.

Robert


On Apr 24, 2007, at 8:17 AM, Martin J. Evans wrote:

> 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

Re: Cannot find ODBC driver

am 24.04.2007 14:56:26 von Martin.Evans

Robert Denton wrote:
> I installed using yum, as in yum install unixODBC. I did a search for
> some of those files. a 'find -name sql*.h' yielded a single result:
> ./usr/include/sqlite3.h and 'find -name libodbc.so' yielded:
> ./usr/lib/libodbc.so
>
> Do you recommend I unyum it and and install from source? I would hope
> that if it is yumable then the yum install would suffice.
>
> Robert
>

You need to install unixODBC development with yum in addition to what
you've probably already installed which is unixODBC runtime.

I don't use yum myself but normally unixODBC is split into runtime and
development packages - you need both.


Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

> On Apr 24, 2007, at 8:17 AM, Martin J. Evans wrote:
>
>> 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
>
>
>

Re: Cannot find ODBC driver

am 24.04.2007 15:06:58 von Robert

Excellent, I have run 'yun install unixODBC-devel' and now I have the
following:

../usr/include/sql.h
../usr/include/sqlucode.h
../usr/include/sqlite3.h
../usr/include/sqltypes.h
../usr/include/sqlext.h


../usr/lib/libodbc.so

So this makes the correct ODBCHOME as /usr correct? I have set it as
such and rerun 'cpan DBD::ODBC' and despite numerous warnings, etc it
did eventually report install OK. Thanks for your help!


Robert


On Apr 24, 2007, at 8:56 AM, Martin Evans wrote:

> Robert Denton wrote:
>> I installed using yum, as in yum install unixODBC. I did a search
>> for some of those files. a 'find -name sql*.h' yielded a single
>> result: ./usr/include/sqlite3.h and 'find -name libodbc.so'
>> yielded: ./usr/lib/libodbc.so
>> Do you recommend I unyum it and and install from source? I would
>> hope that if it is yumable then the yum install would suffice.
>> Robert
>
> You need to install unixODBC development with yum in addition to
> what you've probably already installed which is unixODBC runtime.
>
> I don't use yum myself but normally unixODBC is split into runtime
> and development packages - you need both.
>
>
> Martin
> --
> Martin J. Evans
> Easysoft Limited
> http://www.easysoft.com
>
>> On Apr 24, 2007, at 8:17 AM, Martin J. Evans wrote:
>>> 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