x64 Redhat需要JDK 1.6 rpm
我从Sun下载了jdk-6u21-linux-x64-rpm.bin并安装了Java。在执行过程中,得到的rpm是jdk-6u21-linux-amd64.rpm。x64 Redhat需要JDK 1.6 rpm
我想构建一个需要libjvm.so的应用程序。而在上述JDK它/usr/java/jdk1.6.0_21/jre/lib/amd64/server/libjvm.so 结果发现,我得到一个编译错误如下:
-lpegcommon -L/usr/java/jdk1.6.0_21/jre/lib/amd64/server -ljvm -ldl -lpthread -lcrypt
/usr/bin/ld:跳过不兼容/usr/java/jdk1.6.0_21/jre/ LIB/AMD64 /服务器/ libjvm.so为-ljvm
在/ usr/bin中/ LD搜索时:找不到-ljvm
collect2:LD返回1退出状态
我在哪里可以找到一个JDK转x86_64的?或者libjvm.so安装在
/usr/java/jdk1.6.0_21/jre/lib/x86_64/server/libjvm.so?
感谢,
最终以来,这是您要安装RPM,可以重新定位,无论你想在RPM的内容。
列出RPM的内容:rpm -qpl jdk-6u21-linux-amd64.rpm
,然后对每个基本目录(/ etc,/ usr,\ etc,\ etc)使用重定位语句。假设RPM包含/ etc和/ usr/sbin中的文件,然后将/ usr/sbin重定位到/ usr/local/sbin,您将使用rpm -i --relocate /usr/sbin=/usr/local/sbin jdk-6u21-linux-amd64.rpm
。
RPM是好的。
恕我直言,你检查了对libjvm.so路径的访问权吗?它是当前用户的r-x吗?
也可以尝试不混合“-L”和“-l”开关(在链接命令中的任何-l之前都有-L),因为gcc似乎不太喜欢这种混合。