Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux OpenLDAP与x27之间的冲突;s libldap和Oracle';s occi图书馆_Linux_Oracle_Ldap_Conflict_Symbols - Fatal编程技术网

Linux OpenLDAP与x27之间的冲突;s libldap和Oracle';s occi图书馆

Linux OpenLDAP与x27之间的冲突;s libldap和Oracle';s occi图书馆,linux,oracle,ldap,conflict,symbols,Linux,Oracle,Ldap,Conflict,Symbols,我正在编写一个小工具来检查来自一个Oracle数据库和LDAP的数据。 考虑到性能,我决定使用C/C++,因此我使用开放式ldap库和oracle occi库。现在将每个库的包装放在一起,我注意到如果我将程序与oracle库链接,ldap库中的函数将失败。更进一步,我看到oracle库中定义的函数与openldap库中定义的函数同名。 现在我在web上没有找到关于这个问题的太多信息,一些人建议首先链接ldap库,但这不行,它在init()上不再失败,但不会超过connect() 我正在Linux

我正在编写一个小工具来检查来自一个Oracle数据库和LDAP的数据。 考虑到性能,我决定使用C/C++,因此我使用开放式ldap库和oracle occi库。现在将每个库的包装放在一起,我注意到如果我将程序与oracle库链接,ldap库中的函数将失败。更进一步,我看到oracle库中定义的函数与openldap库中定义的函数同名。 现在我在web上没有找到关于这个问题的太多信息,一些人建议首先链接ldap库,但这不行,它在init()上不再失败,但不会超过connect()

我正在Linux(Ubuntu)上开发,我使用的库都是C。 有人对此有什么建议吗?一定有其他人有这个问题

任何想法都是最受欢迎的。
非常感谢

除非这些函数也是API入口点,否则您应该能够将它们作为共享库链接到一起,使其正常工作。然后每个库将使用它自己的函数版本,除非您自己调用它,否则您无法看到任何一个版本


如果相关函数是API入口点,即LDAP API,则会出现一些非常奇怪的情况。

您可以通过在链接阶段指定“-lldap-llber”来解决此问题


确保在链接阶段的末尾指定了oracle库。ldap与liblber有依赖关系

我将ldap库构建为共享库,并将两者作为共享库进行链接。这是在我链接oracle的libclntsh时发生的,请参见下面的:
objdump-T libclntsh.so | grep“ldap_sasl_bind_s”00fec288 g DF text。不太可能是0000004c Base ldap_sasl_bind_
@seven,这似乎表明oracle库已经包含了您所需的所有内容。试着用它。