x64 Redhat所需的JDK 1.6 rpm

时间:2010-09-06 11:19:46

标签: java jvm redhat rpm jdk1.6

我从Sun下载了jdk-6u21-linux-x64-rpm.bin并安装了Java。在执行期间,提取的rpm是jdk-6u21-linux-amd64.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:在搜索-ljvm时跳过不兼容的/usr/java/jdk1.6.0_21/jre/lib/amd64/server/libjvm.so / usr / bin / ld:找不到-ljvm
collect2:ld返回1退出状态

在哪里可以找到x86_64的JDK rpm?或者在其中安装libjvm.so的rpm /usr/java/jdk1.6.0_21/jre/lib/x86_64/server/libjvm.so?

谢谢,

2 个答案:

答案 0 :(得分:1)

RPM没问题。

恕我直言,您检查了对libjvm.so路径的访问权限吗?它是当前用户的r-x吗?

你也可以尝试不混合“-L”和“-l”开关(在你的链接命令中任何-l之前都有-L)'因为gcc似乎不太喜欢这种混合。

答案 1 :(得分:0)

最终,它是你正在安装的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