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

X11 problems when compiling openjdk 9 on centos 7

第一次开始编译openjdk时发现问题

下面是我做的

然后,我收到了这个错误信息

configure: error: Could not find X11 libraries. You might be able to fix this by running 'sudo yum install libXtst-devel libXt-devel libXrender-devel libXi-devel'.

然后,我按照它告诉我的去做了。

安装后还是一样的错误

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

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

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

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

感谢

更新

感谢@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: cannot find -lX11 collect2: error: ld returned 1 exit status configure:56234: $? = 1

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

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

这里是构建时需要的相关包和我在my spec file for building 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

无论如何,configure 产生的错误消息是最好的猜测。您应该查看 config.log 以查看实际失败的测试以及错误消息是什么。在这种情况下,看起来您可能缺少几个 X11 库之一。可能 libXinerama-devel.

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