Sorry about the rant.. I've been spending the last two days trying to install gcc, MySQL, MyODBC and UnixODBC on several AIX and HP boxes with varying degrees of success and lots of aggravation (much of it due to braindead configure scripts that ALWAYS want to leave gcc arguments around when NOT using gcc!).. Anyway, I was able to get MyODBC built *late* last night and this morning found that I was getting the following error when trying to run a program that was using MyODBC (3.51.03) via UnixODBC (2.2.2):
% ./test-program /usr/lib/dld.sl: Unresolved symbol: _db_enter_ (code) from /usr/local/unixodbc/lib/libmyodbc3-3.51.03.sl Abort If I do a "chatr" on libmyodbc3-3.51.03.sl, I get the following : % chatr /usr/local/unixodbc/lib/libmyodbc3-3.51.03.sl /usr/local/unixodbc/lib/libmyodbc3-3.51.03.sl: shared library shared library dynamic path search: SHLIB_PATH disabled first embedded path disabled second Not Defined internal name: libmyodbc3-3.51.03.sl shared vtable support disabled static branch prediction disabled executable from stack: D (default) kernel assisted branch prediction enabled lazy swap allocation disabled text segment locking disabled data segment locking disabled third quadrant private data space disabled fourth quadrant private data space disabled third quadrant global data space disabled data page size: D (default) instruction page size: D (default) nulptr references disabled Notice that it has NO DEPENDENCIES on libmysqlclient.sl.. Also notice that if I do the following, that I'm missing ALL references to stuff in the aforementioned client lib : % nm -u /usr/local/unixodbc/lib/libmyodbc3-3.51.03.sl ... [some output chopped for brevity sake ] my_SQLAllocConnect my_SQLAllocEnv my_SQLAllocStmt my_SQLBindParameter my_SQLDisconnect my_SQLDriverConnect my_SQLExecute my_SQLExtendedFetch my_SQLFreeConnect my_SQLFreeEnv my_SQLFreeStmt my_SQLGetDiagRec my_SQLPrepare ... Now, if I look at what crap libtool did, I find the following when building MyODBC : /bin/sh ./libtool --mode=link gcc -O2 -o libmyodbc3.la -rpath /usr/local/unixodbc/lib -release 3.51.03 catalog.lo connect.lo dll.lo execute.lo handle.lo info.lo myodbc3.lo options.lo prepare.lo results.lo transact.lo utility.lo cursor.lo error.lo misc.lo -L/opt/mysql/lib/mysql -lmysqlclient -L/usr/local/unixodbc/lib -L/opt/mysql/lib/mysql -lz -lodbcinst mkdir .libs *** Warning: inter-library dependencies are not known to be supported. *** All declared inter-library dependencies are being dropped. *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. /usr/ccs/bin/ld -b +h libmyodbc3-3.51.03.sl +s +b /usr/local/unixodbc/lib -o .libs/libmyodbc3-3.51.03.sl catalog.lo connect.lo dll.lo execute.lo handle.lo info.lo myodbc3.lo options.lo prepare.lo results.lo transact.lo utility.lo cursor.lo error.lo misc.lo Notice that it has completely dropped the "-L/opt/mysql/lib/mysql -lmysqlclient -L/usr/local/unixodbc/lib -L/opt/mysql/lib/mysql -lz -lodbcinst" This just means that the friggin library is totally whacked and ought to be put out to pasture.. In the meantime, I'm done a re-link by HAND to make sure it gets built properly.. See below : % /usr/ccs/bin/ld -b +h libmyodbc3-3.51.03.sl +s +b /usr/local/unixodbc/lib -o .libs/libmyodbc3-3.51.03.sl catalog.lo connect.lo dll.lo execute.lo handle.lo info.lo myodbc3.lo options.lo prepare.lo results.lo transact.lo utility.lo cursor.lo error.lo misc.lo -L/opt/mysql/lib/mysql -lmysqlclient -L/usr/local/unixodbc/lib -L/opt/mysql/lib/mysql -L/usr/local/lib -lz -lodbcinst Now that that is complete, notice what "chatr" finds now (notice the shared library list that has two items in it) : % chatr libmyodbc3-3.51.03.sl libmyodbc3-3.51.03.sl: shared library shared library dynamic path search: SHLIB_PATH enabled first embedded path enabled second /usr/local/unixodbc/lib internal name: libmyodbc3-3.51.03.sl shared library list: dynamic /opt/mysql/lib/mysql/libmysqlclient.sl.10 dynamic /usr/local/unixodbc/lib/libodbcinst.sl.1 shared vtable support disabled static branch prediction disabled executable from stack: D (default) kernel assisted branch prediction enabled lazy swap allocation disabled text segment locking disabled data segment locking disabled third quadrant private data space disabled fourth quadrant private data space disabled third quadrant global data space disabled data page size: D (default) instruction page size: D (default) nulptr references disabled --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php