MAC编译OpenJDK8:详细步骤及问题解决办法(含独家解决办法)

简介: MAC编译OpenJDK8:详细步骤及问题解决办法(含独家解决办法)

  参考:

https://blog.csdn.net/lizhengjava/article/details/105629780

https://www.cnblogs.com/micrari/p/7018474.html

  • 安装JDK8

https://blog.csdn.net/quantum7/article/details/108448170

  • 安装brew

https://blog.csdn.net/quantum7/article/details/108452241

  • 安装各种工具
brew install mercurial
brew install freetype
brew install ant
brew install ccache
brew install autoconf
brew install llvm
brew install binutils

gcc、g++

  • 安装xcode

在应用商业中安装。

  • 下载源码
# 经常失败
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/

建议早上下载github,非常快:


https://github.com/AdoptOpenJDK/openjdk-jdk8u


修改脚本hotspot/make/bsd/makefiles/gcc.make

(无必要?)hotspot/make/bsd/makefiles/gcc.make注释:

# Compiler warnings are treated as errors
# ifneq ($(COMPILER_WARNINGS_FATAL),false)
#   WARNINGS_ARE_ERRORS = -Werror
# endif

https://quantum6.blog.csdn.net/article/details/109378805

修改脚本generate-configigure.sh


https://quantum6.blog.csdn.net/article/details/109378562


https://quantum6.blog.csdn.net/article/details/109379006


  • 编译freetype

https://blog.csdn.net/quantum7/article/details/108462040


  • 编译
NEW_INCLUDE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
export   CFLAGS="-I$NEW_INCLUDE"
export CXXFLAGS="-I$NEW_INCLUDE"
NEW_LIB=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
export LDFLAGS="-L${NEW_LIB}"
export LIBRARY_PATH=$NEW_LIB:$LIBRARY_PATH
make clean
chmod 777 configure
./configure \
    --with-freetype=`pwd`/../freetype-2.10.2
make all
  • 错误

MAC clang: error: include path for libstdc++ headers not found

https://blog.csdn.net/quantum7/article/details/108466760

error: ‘&&‘ within ‘||‘ [-Werror,-Wlogical-op-parentheses]/Users/tsit/tsjdk8-project/tsjdk8/hotspot/

https://blog.csdn.net/quantum7/article/details/108466864

clang: error: unknown argument: ‘-fpch-deps‘

https://blog.csdn.net/quantum7/article/details/108466971

iostream file not found

https://blog.csdn.net/quantum7/article/details/108486354

ld: library not found for -lstdc++

https://blog.csdn.net/quantum7/article/details/108487437
/

目录
相关文章
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
391 1
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
937 2
|
Web App开发 数据采集 安全
Mac系统安装chromedriver遇到的问题和解决办法
Mac系统安装chromedriver遇到的问题和解决办法
982 1
|
数据库管理
Mac检出svn checkout报错 svn: E200030: SQLite 编译为 3.39.5,但是运行于 3.39.4
Mac检出svn checkout报错 svn: E200030: SQLite 编译为 3.39.5,但是运行于 3.39.4
706 0
|
Kubernetes NoSQL Java
ChaosBlade常见问题之在mac下编译报checksum mismatch的错误如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
276 0
|
iOS开发 MacOS Python
Mac安装pip报错的解决办法
Mac安装pip报错的解决办法
|
Windows
Mac移动硬盘直接拔掉后,再插上无法显示的解决办法
Mac移动硬盘直接拔掉后,再插上无法显示的解决办法
Mac 打开/关闭 iCloud 后导致桌面文件夹、文档删除,恢复步骤!
Mac 打开/关闭 iCloud 后导致桌面文件夹、文档删除,恢复步骤!
607 0
|
JavaScript 算法 前端开发
Mac下编译dinky-web(踩坑篇)
Mac下编译dinky-web(踩坑篇)
323 0
|
2月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。