我一直在尝试为 naviserver (nsoracle) 编译 oracle 驱动程序。它编译得很好,但是当我启动服务器时,它在 nsoracle.so 的模块加载期间抱怨。
Error: modload: /usr/local/ns/bin/nsoracle.so: couldn't load file "/usr/local/ns/bin/nsoracle.so": ld.so.1: nsd: fatal: relocation error: file /usr/local/ns/bin/nsoracle.so: symbol OCIServerDetach: referenced symbol not found
Makefile 中的库/链接行如下所示:
MODLIBS += -R$(ORACLE_HOME}:${ORACLE_HOME}/lib:$NSHOME/bin:$NSHOME/lib -L$(ORACLE_HOME):$(ORACLE_HOME)/lib:$(NSHOME)/lib -L$(ORACLE_HOME):$(ORACLE_HOME)/lib:$(NSHOME)/lib -locci -lclntsh -lnnz11
ORACLE_HOME 包含 libocci.so.11.1 libclntsh.11.1 libociei.so libnnz11.so lib