我今天在ubuntu 12.04 64bit上安装oracle 11gR2时也出现了类似这种情况,在编译日志文件/opt/oracle/ora11g/install/make.log 中我发现有很多/usr/bin/ld: cannot find -lclntsh 这种错误,在这一句后面是说找不到 /usr/lib64/libpthread_noshared.a ,ubuntu12.04下是没有/usr/lib64这个文件夹的,所以我mkdir /usr/lib64,然后 ln -s /usr/lib/x86_64-linux/gnu/libpthread_noshared.a  /usr/lib64/,百度了好久,说libc_noshared.a也要做这样一个软链接,然后我的问题就解决了。补充一句:我没有设置这个export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:.

解决方案 »

  1.   

    这个问题是gcc在/usr/lib 或是 /usr/local 下找不到libclntsh.so这个动态库造成的。解决办法:找到oracle 的安装路径 cd $ORACLE_HOME/lib 找到 libclntsh.so动态库文件的路径 执行sudo ln-sv /opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so /usr/lib/libclntsh.so  "/opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so "是我机器的安装目录具体以实际情况为准。