Library problems, differnces between unixODBC, iODBC

Library problems, differnces between unixODBC, iODBC

am 07.05.2007 21:31:13 von Patrick Galbraith

Hi all,

I'm having problems with my app running on OSX (iODBC) because one of
the symbols isn't resolving

mysql> install plugin federated_odbc SONAME 'libfederated_odbc_engine.so';
ERROR 1126 (HY000): Can't open shared library
'/usr/local/mysql-5.1/lib/mysql/libfederated_odbc_engine.so' (errno: 0
dlopen(/usr/local/mysql-5.1/lib/mysql/libfederated_odbc_engi ne.so, 2):
Symbol not found: _SQLGetPrivateProfileString
Reference)

"nm" verifies this function isn't there:

my:/usr/local/mysql-5.1/lib/mysql root# nm libfederated_odbc_engine.so

0003d484 D _ODBCSharedTraceFlag
0002d292 T _SQLAllocConnect
0002d17c T _SQLAllocConnect_Internal
0000f411 T _SQLAllocEnv
0000f249 T _SQLAllocEnv_Internal
0001a330 T _SQLAllocHandle
0001a46c T _SQLAllocHandleStd
0001a0ce T _SQLAllocHandle_Internal
00013622 T _SQLAllocStmt
00012fd4 T _SQLAllocStmt_Internal
00019a76 T _SQLBindCol
00020f50 T _SQLBindParam
0002f89e T _SQLBindParameter
0000bb26 T _SQLBrowseConnect
0000bca1 T _SQLBrowseConnectA
0000be1c T _SQLBrowseConnectW
0000b4b6 T _SQLBrowseConnect_Internal
000209e3 T _SQLBulkOperations
00014c36 T _SQLCancel
00020fb0 T _SQLCloseCursor
00020341 T _SQLColAttribute
00020523 T _SQLColAttributeA
00020705 T _SQLColAttributeW
0001fced T _SQLColAttribute_Internal
00018af2 T _SQLColAttributes
00018cd4 T _SQLColAttributesA
00018eb6 T _SQLColAttributesW
00018546 T _SQLColAttributes_Internal
0000a049 T _SQLConnect
0000a1da T _SQLConnectA
0000a36b T _SQLConnectW
000098a6 t _SQLConnect_Internal
0001fb3d T _SQLCopyDesc
00015374 T _SQLDataSources
000154e4 T _SQLDataSourcesA
00015654 T _SQLDataSourcesW
00014eed T _SQLDataSources_Internal
00019875 T _SQLDescribeCol
00019674 T _SQLDescribeColA
00019473 T _SQLDescribeColW
00019098 T _SQLDescribeCol_Internal
0000cec2 T _SQLDescribeParam
0000bf97 T _SQLDisconnect
0000afa6 T _SQLDriverConnect
0000b156 T _SQLDriverConnectA
0000b306 T _SQLDriverConnectW
0000a4fc T _SQLDriverConnect_Internal
00015d48 T _SQLDrivers
00015eb8 T _SQLDriversA
00016028 T _SQLDriversW
000158c8 T _SQLDrivers_Internal
000208e7 T _SQLEndTran
00012e9b T _SQLError
00012d62 T _SQLErrorA
00012c29 T _SQLErrorW
0000db36 T _SQLExecDirect
0000d9c9 T _SQLExecDirectA
0000d85c T _SQLExecDirectW
0000d4cd T _SQLExecDirect_Internal
0000d19a T _SQLExecute
0000e480 T _SQLExtendedFetch
0000dfac T _SQLFetch
00020c27 T _SQLFetchScroll
0002da74 T _SQLFreeConnect
0002d9c0 T _SQLFreeConnect_Internal
0000f480 T _SQLFreeEnv
0000f1d6 T _SQLFreeEnv_Internal
0001a5a8 T _SQLFreeHandle
000143ad T _SQLFreeStmt
000140a8 T _SQLFreeStmt_Internal
U _SQLGetConfigMode
0001dd89 T _SQLGetConnectAttr
0001deed T _SQLGetConnectAttrA
0001e051 T _SQLGetConnectAttrW
0001da46 t _SQLGetConnectAttr_Internal
0002e37b T _SQLGetConnectOption
0002e4ca T _SQLGetConnectOptionA
0002e5f3 T _SQLGetConnectOptionW
00017bb6 T _SQLGetCursorName
00017d43 T _SQLGetCursorNameA
00017ed0 T _SQLGetCursorNameW
00017886 T _SQLGetCursorName_Internal
0000e628 T _SQLGetData
0001e494 T _SQLGetDescField
0001e63b T _SQLGetDescFieldA
0001e7e2 T _SQLGetDescFieldW
0001e1b5 T _SQLGetDescField_Internal
0001f260 T _SQLGetDescRec
0001f470 T _SQLGetDescRecA
0001f680 T _SQLGetDescRecW
0001f000 T _SQLGetDescRec_Internal
0001132b T _SQLGetDiagField
000111d6 T _SQLGetDiagFieldA
00011081 T _SQLGetDiagFieldW
0000f56c T _SQLGetDiagField_Internal
00012238 T _SQLGetDiagRec
000120e4 T _SQLGetDiagRecA
00011f90 T _SQLGetDiagRecW
00011480 T _SQLGetDiagRec_Internal
0001acd4 T _SQLGetEnvAttr
0001705e T _SQLGetFunctions
00016bc9 T _SQLGetInfo
00016d50 T _SQLGetInfoA
00016ed7 T _SQLGetInfoW
0001629c T _SQLGetInfo_Internal
U _SQLGetPrivateProfileString
0001bb2f T _SQLGetStmtAttr
0001bcc6 T _SQLGetStmtAttrA
0001be5d T _SQLGetStmtAttrW
0001af74 T _SQLGetStmtAttr_Internal
000148c2 T _SQLGetStmtOption
00014a7c T _SQLGetStmtOptionA
000137ab T _SQLGetStmtOption_Internal
0000ec17 T _SQLMoreResults
0000c434 T _SQLNativeSql
0000c5ba T _SQLNativeSqlA
0000c740 T _SQLNativeSqlW
0000c158 T _SQLNativeSql_Internal
0000cc8e T _SQLNumParams
00018397 T _SQLNumResultCols
0000dca3 T _SQLParamData
0002ff35 T _SQLParamOptions
0002eda2 T _SQLPrepare
0002ef0f T _SQLPrepareA
0002f07c T _SQLPrepareW
0002eab0 T _SQLPrepare_Internal
0000c9d9 T _SQLPutData
0001805d T _SQLRowCount
U _SQLSetConfigMode
0001d659 T _SQLSetConnectAttr
0001d7a8 T _SQLSetConnectAttrA
0001d8f7 T _SQLSetConnectAttrW
0001d448 t _SQLSetConnectAttr_Internal
0002db6c T _SQLSetConnectOption
0002dc95 T _SQLSetConnectOptionA
0002ddbe T _SQLSetConnectOptionW
0002f436 T _SQLSetCursorName
0002f5ae T _SQLSetCursorNameA
0002f726 T _SQLSetCursorNameW
0002f1e9 T _SQLSetCursorName_Internal
0001eb53 T _SQLSetDescField
0001ece2 T _SQLSetDescFieldA
0001ee71 T _SQLSetDescFieldW
0001e989 T _SQLSetDescField_Internal
0001f890 T _SQLSetDescRec
0001ab32 T _SQLSetEnvAttr
00030790 T _SQLSetParam
0000f03b T _SQLSetPos
0003021d T _SQLSetScrollOptions
0001cfc2 T _SQLSetStmtAttr
0001d144 T _SQLSetStmtAttrA
0001d2c6 T _SQLSetStmtAttrW
0001bff4 T _SQLSetStmtAttr_Internal
00014564 T _SQLSetStmtOption
00014713 T _SQLSetStmtOptionA
000139bb t _SQLSetStmtOption_Internal
0002e9f7 T _SQLTransact
0002e918 T _SQLTransact_Internal


What would cause this?

Makes no sense. The engine compiles, links perfectly. myodbc works well
to - I can connect with a number of DSNs...


Another question - how to #ifdef code for slight differences in function
calls between unixODBC and iODBC? Functions such as SQLGetData require
"long int*" as the last argument on iODBC where on unixODBC it's
SQLPOINTER. What is the preprocessor define for ODBC type (unixODBC vs.
iODBC) ?


Thanks!

Patrick


--
Patrick Galbraith, Senior Programmer
Grazr - Easy feed grazing and sharing
http://www.grazr.com

Satyam Eva Jayate - Truth Alone Triumphs
Mundaka Upanishad




--
MySQL ODBC Mailing List
For list archives: http://lists.mysql.com/myodbc
To unsubscribe: http://lists.mysql.com/myodbc?unsub=gcdmo-myodbc@m.gmane.org