On Jun 6, 2005, at 6:11 PM, Jeff Urlwin wrote:

I'd be gratefull (and you'd be happier the next release ;) if you diagnose why Makefile.PL detects unixODBC. I think the script is looking for $ODBCHOME/*iodbc* or $ODBCHOME/lib/*iodbc*. Is there a reason that your machine doesn't detect that?


Makefile seems to be detecting the driver manager with the following lines of code:

   # per patches from Nick Gorham
   $myodbc = 'unixodbc'
                if !$myodbc && <$odbchome/lib/libodbc.*>;

    $myodbc = 'iodbc'
                if !$myodbc && (<$odbchome/*iodbc*> || <$odbchome/lib/*iodbc*>);

In the version of iodbc that I installed (3.52.2) it created links: libodbc.a->libiodbc.a and libodbc.so->libiodbc.so . Following the above logic, Makefile detects unixodbc and stops looking. I'm not sure if earlier versions of the iodbc driver do the same as well. 3.52.1 did the same on my Solaris install in January.

I'm not expert enough to redo Nick's patches. Perhaps adding a command line option to tell Makefile.PL which driver manager is installed, and try and detect which is installed only as a last resort? Something along the lines of:

$> perl Makefile.PL -o /usr/local -dm iodbc



Reply via email to