开发者社区> 问答> 正文

configure 脚本是如何寻找命令的?

在某 CentOS 6 上编译 collectd ,运行了 ./configure --enable-java 后提示找不到 javac :
`
checking for javac... not found
checking for jar... not found
checking for javac... no
checking for jar... no
`
但该服务器已经用 yum install java-1.7.0-openjdk-devel 安装了 jdk ,从命令行是可以运行 javac 的:
`$ which javac
/usr/bin/javac`
我认为它可能是通过 JAVA_HOME 来找的,但环境变量中没有设置 JAVA_HOME ,于是用 export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64 设置,但 configure 仍然找不到。

展开
收起
蛮大人123 2016-03-04 16:24:47 2457 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    configure 是用 find 来找的,命令是这样子:
    find "$JAVA_HOME" -name javac
    但这里的 $JAVA_HOME 是一个指向目录的符号链接,这就是问题所在:find 默认不跟进符号链接。
    但如果在这个符号链接最后加一个“/”,即 /usr/lib/jvm/java-1.7.0-openjdk.x86_64/ 的话 find 又可以找到了。

    2019-07-17 18:52:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载