在centos 7上编译openjdk 9时出现X11问题

时间:2017-03-29 09:30:58

标签: centos openjdk

我第一次开始编译openjdk时遇到问题。

以下是我做的事情

然后,我收到此错误消息

  

configure:error:找不到X11库。您可以通过运行'sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel'来解决这个问题。

然后,我做了它告诉我要做的事。

安装后,仍然存在相同的错误。

所以我检查了文件在我的机器上的位置

  • rpm -qa | grep X11 libX11-1.6.3-3.el7.x86_64 libX11-common-1.6.3-3.el7.noarch libX11-devel-1.6.3-3.el7.x86_64

  • rpm -ql libX11-1.6.3-3.el7.x86_64 /usr/lib64/libX11-xcb.so.1 /usr/lib64/libX11-xcb.so.1.0.0 /usr/lib64/libX11.so.6 /usr/lib64/libX11.so.6.3.0

所以我尝试了指定X11路径的方法

  • bash ./configure --x-libraries = / usr / lib64

不幸的是,同样的错误仍然存​​在。

有人可以帮助我离开这里吗?

THX

更新

感谢@omajid指示我查看日志文件config.log,我发现配置在我的linuxbrew安装中使用了gcc。

  

configure:56234:/ data / alex / git / brew / bin / g ++ -o conftest conftest.cpp -lX11>& 5   / data / alex / git / brew / bin / ld:找不到-lX11   collect2:错误:ld返回1退出状态   configure:56234:$? = 1

所以在我将c编译器导出到系统之后,问题就解决了。

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++

1 个答案:

答案 0 :(得分:0)

以下是构建时所需的相关软件包以及我在my spec file中用于构建unofficial OpenJDK 9 packages for Fedora/EPEL的配置标记:

autoconf
automake
alsa-lib-devel
binutils
cups-devel
desktop-file-utils
fontconfig
freetype-devel
elfutils
giflib-devel
gcc-c++
gdb
gtk2-devel
lcms2-devel
libjpeg-devel
libpng-devel
libxslt
libX11-devel
libXi-devel
libXinerama-devel
libXt-devel
libXtst-devel
nss-devel
pkgconfig
xorg-x11-proto-devel
zip
java-1.8.0-openjdk-devel


bash ../configure \
--with-boot-jdk=/usr/lib/jvm/java-1.8.0-openjdk/ \
--with-native-debug-symbols=internal \
--enable-unlimited-crypto \
--with-zlib=system \
--with-libjpeg=system \
--with-giflib=system \
--with-libpng=system \
--with-lcms=system \
--with-stdc++lib=dynamic \
--disable-javac-server \
--disable-warnings-as-errors

在任何情况下,配置产生的错误消息都是最佳猜测。您应该查看config.log以查看实际失败的测试以及错误消息是什么。在这种情况下,看起来您可能错过了几个X11库中的一个。可能是libXinerama-devel

如果仍然没有解决您的错误,请粘贴autoconf日志文件中的错误消息(应该命名为config.log或configure.log,我忘了)。