[Date Prev][Date Next] [Chronological] [Thread] [Top]

OpenLdap & Oracle/XE and threadless stub patch



I'm trying to use the Oracle10/XE as a backend for the OpenLDAP
server, using the  back_sql module.
I know that the unixodbc interface is working with Oracle because I
can access the database with the isql tool and view the test tables.

However, when I try to run the slapd daemon I get the following error
slapd -d 1
...
==>backsql_get_db_conn()
==>backsql_open_db_conn(4294967295)
backsql_open_db_conn(4294967295): SQLConnect() to database "OracleODBC" failed.
Return code: -1
  nativeErrCode=0 SQLengineState=IM003[iODBC][Driver
Manager]Specified driver could not be loaded msg="[iODBC][Driver
Manager]Specified driver could not be loaded"
  nativeErrCode=0 SQLengineState=00000[iODBC][Driver
Manager]/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libsqora.so.10.1:
undefined symbol: bcuMsgBoxError msg="[iODBC][Driver
Manager]/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libsqora.so.10.1:
undefined symbol: bcuMsgBoxError"
backsql_get_db_conn(): could not get connection handle -- returning NULL
backsql_db_open(): connection failed, exiting
backend_startup_one: bi_db_open failed! (1)
slapd shutdown: initiated

I haven't found where the bcuMsgBoxError symbol is defined (but it
shouldn't be needed since /usr/bin/isql works just fine).

Anyways, I thought I'd try configuring the anon-CVS source  --without-threads
and found that the thr_stubs.c needed a do-nothing function to satisfy
the references below ... hence the attached patch.

connection.o: In function
`connection_operation':/home/owen/rk/nim/openldap/openldap-cvs/servers/slapd/connection.c:1044:
undefined reference to `ldap_pvt_thread_pool_tid'
connection.o: In function
`connection_fake_init':/home/owen/rk/nim/openldap/openldap-cvs/servers/slapd/connection.c:1955:
undefined reference to `ldap_pvt_thread_pool_tid'

However, any insight on resolving the bcuMsgBoxError problem and
getting Oracle to work as the back-end would be greatly appreciated.
BTW - I'm using Ubuntu 6.05 Linux.

Thanks,
    R.K.

R.K.Owen,PhD                    rk@owen.sj.ca.us
LBNL/NERSC                      rkowen@nersc.gov
Univ. of California, Berkeley   Wrk:(510)486-7556
Index: libraries/libldap_r/thr_stub.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap_r/thr_stub.c,v
retrieving revision 1.27
diff -u -u -r1.27 thr_stub.c
--- libraries/libldap_r/thr_stub.c	3 Jan 2006 22:12:09 -0000	1.27
+++ libraries/libldap_r/thr_stub.c	26 Oct 2006 16:26:32 -0000
@@ -229,4 +229,10 @@
 	return(0);
 }
 
+ldap_pvt_thread_t ldap_pvt_thread_pool_tid( void *vctx )
+{
+
+	return(0);
+}
+
 #endif /* NO_THREADS */