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