64位和32位工具在一个环境中运行

时间:2013-11-19 05:15:47

标签: c++ oracle build dynamic-linking dynamic-loading

我有一个脚本(bash),它调用了6个工具,其中4个是32位编译的,2个是64位编译的。一个32位和一个64位是oracle依赖工具。由于Oracle依赖工具依赖于动态库(.so文件),我得到的错误为*。找不到其中一个工具(无论是32位还是64位,无论我在ORACLE_HOME中设置哪个,我猜)。 /> 任何人都可以提出建议,如何处理这种情况?

先谢谢

1 个答案:

答案 0 :(得分:1)

在脚本中,在调用64位工具之前将LD_LIBRARY_PATH设置为64位* .so。

根据我的理解,如果LD_LIBRARY_PATH中存在32位和64位* .so,则可执行文件将采用正确的* .so,因为加载程序知道忽略错误体系结构的库。

有关详细信息,请参阅此How do shared libraries work in a mixed 64bit/32bit system?