zoukankan      html  css  js  c++  java
  • 有关loading share object file libjvm.so: xxxxx 的那些问题

    今天在跑一个有关postgresql产品的测试,要测试postgresql的有关Mirroring Controller的功能。

    在执行mc_ctl命令的时候,报错:error while loading share object file libjvm.so: No such file or directory.

    调查了一下发现是对LD_LIBRARY_PATH 环境变量的设置有问题,没有提供含有libjvm.so的路径,自然找不到。于是先在系统中寻找libjvm.so文件的位置:

    find / -name libjvm.so
    

    输出如下:

    既然是编译server,那么就选了一条路径中含有server的添加到LD_LIBRARY_PATH变量中:

    export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/x86_64/server:$LD_LIBRARY_PATH
    
    

    再次运行,又出错了,这次报的错不太一样了 libjvm.so: no version information available.

    看到这,估计你就明白了。对的,是java的版本没选对。选择的库文件的版本过低,mc_ctl命令无法识别,故报此错误。那么改正就很简单了。

    再次修改LD_LIBRARY_PATH变量,选择正确版本(即选择一个高版本的库文件路径)的库文件的路径如下:

    export LD_LIBRARY_PATH= /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server:$LD_LIBRARY_PATH
    

    设置好该变量后,再次运行测试程序,不再报此错误,可以正常运行了。

  • 相关阅读:
    linux文件种类及其扩展名
    路由器终端常用linux命令汇总(持续更新)
    初识Makefile
    volatile关键字作用
    无言
    coredump文件抓取设置
    connect设置连接超时
    unix socket服务器
    交叉编译工具链制作
    编译选项说明
  • 原文地址:https://www.cnblogs.com/flying-tiger/p/5947068.html
Copyright © 2011-2022 走看看