I first tried unixODBC in order to get ODBC functionality on my FreeBSD 4.2
box with PHP 4.0.3 on Apache 1.3.14. It didn't work too well, and I kept
getting an error about undefined symbols like pthread_mutex_init or
something when trying to run command-line sample applications. So someone
suggested I use iODBC instead and I responded:

Okay, I uninstalled unixODBC and tried iODBC ( I actually began to try it
before, but then thought of something that might work on unixODBC, so I went
back to it ).

Now iODBC's odbctest application works with myODBC installed. However, after
I recompile PHP with iodbc parameters, I try to run the odbc_connect
function. If I misspell the DSN or use a non-existent one, I will get the
following message:

Warning: SQL error: [iODBC][Driver Manager]Data source name not found and no
default driver specified. Driver could not be loaded, SQL state IM002 in
SQLConnect

Now, if I spell the defined DSN correctly and reload the page, the
application just hangs. If I look at my error logs I see this:

/usr/libexec/ld-elf.so.1: /usr/local/lib/libmyodbc.so: Undefined symbol
"pthread_mutex_init"

Once for every time I reload the page. This is odd, because this was a
problem message I was receiving when testing unixODBC on the command line.
After I installed iODBC, the command-line application was able to connect
and query perfectly! So what gives? Why does one application work and
another does not?

I set the following environment vars - some may not make sense, but I've
been trying everything:

$EnvVars["LD_LIBRARY_PATH"] = "/usr/local/lib:/usr/include";
$EnvVars["LD_RUN_PATH"] = "/usr/local/lib:/usr/include";
$EnvVars["ODBCINI"] = "/usr/local/src/odbcsdk/doc/odbc.ini";
$EnvVars["PATH"] =
"/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:/hom
e/suroot/bin:/usr/libexec:/usr/include";

foreach($EnvVars as $Key => $Val)
{
 putenv("$Key=$Val");
 $HTTP_ENV_VARS["$Key"] = $Val;
}

I can see via phpinfo() that they are getting set. Any more ideas?

- Jonathan



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to