gpt4 book ai didi

windows - 在 Windows x64 上构建 OpenJDK8

转载 作者:可可西里 更新时间:2023-11-01 11:46:32 41 4
gpt4 key购买 nike

所以我尝试从源代码编译 openjdk8,但在编译过程结束时遇到文件丢失问题...

这是我使用的软件:

  • Windows 7 SP1 x64
  • Windows 7.1 的 Windows SDK
  • Microsoft .NET Framework 4
  • Visual Studio 2010 速成版
  • GNU make 3.82(自己编译的)
  • Freetype 2.3(自己编译的)
  • Oracle JDK 1.7 更新 71
  • Direct X 9.0(2009 年 8 月)
  • Cygwin

这是我正在阅读的手册:

通过所有这些指南,我可以让它编译,但是在Building Images - 步骤中,我收到一些文件丢失的错误(它们确实丢失了),这让我认为构建过程中出了点问题......

有几点我担心我可能做错了什么......

  • 赛格文

现在我使用 cygwin 2.8 版。 openjdk 配置脚本需要 cygwin 版本 >1.7 但无法识别 2.8 大于 1.7 并抛出错误,所以我调整了脚本(使构建工作像 2 个月前一样)...

  • ./配置

我的配置命令如下所示:

./configure --disable-ccache --with-freetype=/cygdrive/c/freetype

也许我在这里需要更多参数才能使其工作(请注意,我已将自编译的 make 可执行文件复制到 cygwin bin 文件夹,因此我不需要提供其位置)

  • Visual Studio C++ 2010 Express

我宁愿尝试 Professional Trial 版本,但再也找不到它了...(除了 torrents...)我有一种强烈的感觉,即 Express 版本不适合 openjdk 构建。我也遇到了缺少 ammintrin.h 文件的错误,但是通过在 Visual Studio 安装的包含文件夹中创建空头文件可以轻松解决这个问题。

我的基本构建过程是:

  1. 安装以上所有软件
  2. Mercurial 克隆http://hg.openjdk.java.net/jdk8/jdk8
  3. ./get_source.sh
  4. ./configure --disable-ccache --with-freetype=/cygdrive/c/freetype`
  5. 制作干净的图像

然而,这里是如何结束的:

enter image description here

有没有人知道如何解决这个问题?

最佳答案

我找到了正确的修复方法:使用 Cygwin 安装程序,将 Grep 降级到 2.27,这会正确忽略 CRLF 行结尾。

  1. 运行 Cygwin 安装程序(例如 setup-x86_64.exe)
  2. 通过设置向导前进,直到您选择包
  3. 从“ View ”下拉菜单中选择“完整”
  4. 在搜索栏中输入“grep”
  5. 单击“新建”列中的图标,直到它显示 2.x 版本(撰写本文时为 2.27)
  6. 点击下一步,然后点击完成。

我发现自己和你处于相同的位置,除了在我的情况下我需要 OpenJDK 构建是可重复的,所以“重复运行 make 直到它完成”不是一个可接受的解决方案。

通过一些试验,我找到了根本原因:

  • grep 失败,因为正在处理的文件有 Windows 行结尾 (CRLF)
  • Windows 行尾是因为该文件是由 Java 应用程序 (fixpaths) 生成的,它发出平台原生行尾
  • 识别 fixpaths 让我找到了一个旧的 OpenJDK 电子邮件线程,该线程报告说一些用户遇到了同样的问题并通过降级修复了它。

这给了我尝试降级 grep 的想法。我这样做了,而且奏效了。

关于windows - 在 Windows x64 上构建 OpenJDK8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43476678/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com