Opened 4 months ago

Last modified 3 weeks ago

#69120 assigned update

openjdk8: Update to 8u402

Reported by: breun (Nils Breunese) Owned by: usersxx
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Dave-Allured (Dave Allured)
Port: openjdk8

Description (last modified by breun (Nils Breunese))

The openjdk8 is currently at version 8u372, which is three releases behind the current latest version. The current version in MacPorts is missing fixes for various vulnerabilities:

When I try bumping the version beyond 8u372 locally, the openjdk8 build fails on my macOS 14 (arm64) machine. With 8u402 the build log ends with this:

:info:build dtrace headers generated
:info:build gmake[6]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot/bsd_aarch64_zero/product'
:info:build gmake[6]: Entering directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot/bsd_aarch64_zero/product'
:info:build Generating precompiled header precompiled.hpp.pch
:info:build In file included from <built-in>:1:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/assembler.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/codeBuffer.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/code/oopRecorder.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/universe.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/handles.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/oops/klass.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/genOopClosures.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/iterator.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/allocation.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/globals.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/debug.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/globalDefinitions.hpp:38:
:info:build /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:252:59: error: use of undec
lared identifier 'finite'; did you mean 'isfinite'?
:info:build inline int g_isfinite(jfloat  f)                 { return finite(f); }
:info:build                                                           ^~~~~~
:info:build                                                           isfinite
:info:build /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk/usr/include/c++/v1/math.h:403:80: note: 'isfinite' declared here
:info:build _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isfinite(_A1 __x) _NOEXCEPT {
:info:build                                                                                ^
:info:build In file included from <built-in>:1:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/assembler.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/codeBuffer.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/code/oopRecorder.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/universe.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/handles.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/oops/klass.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/genOopClosures.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/iterator.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/allocation.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/globals.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/debug.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/globalDefinitions.hpp:38:
:info:build /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:253:59: error: use of undec
lared identifier 'finite'; did you mean 'isfinite'?
:info:build inline int g_isfinite(jdouble f)                 { return finite(f); }
:info:build                                                           ^~~~~~
:info:build                                                           isfinite
:info:build /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk/usr/include/c++/v1/math.h:403:80: note: 'isfinite' declared here
:info:build _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isfinite(_A1 __x) _NOEXCEPT {
:info:build                                                                                ^
:info:build In file included from <built-in>:1:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/assembler.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/asm/codeBuffer.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/code/oopRecorder.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/universe.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/handles.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/oops/klass.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/genOopClosures.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/iterator.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/memory/allocation.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/runtime/globals.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/debug.hpp:28:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/share/vm/utilities/globalDefinitions.hpp:450:
:info:build In file included from /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/src/cpu/zero/vm/globalDefinitions_zero.hpp:29:
:info:build /opt/local/include/ffi.h:477:5: warning: 'FFI_GO_CLOSURES' is not defined, evaluates to 0 [-Wundef]
:info:build #if FFI_GO_CLOSURES
:info:build     ^
:info:build 1 warning and 2 errors generated.
:info:build gmake[6]: *** [/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/make/bsd/makefiles/vm.make:311: precompiled.hpp.pch] Error 1
:info:build gmake[6]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot/bsd_aarch64_zero/product'
:info:build gmake[5]: *** [/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/make/bsd/makefiles/top.make:128: the_vm] Error 2
:info:build gmake[5]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot/bsd_aarch64_zero/product'
:info:build gmake[4]: *** [/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/make/bsd/Makefile:314: productzero] Error 2
:info:build gmake[4]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot'
:info:build gmake[3]: *** [Makefile:261: generic_buildzero] Error 2
:info:build gmake[3]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/make'
:info:build gmake[2]: *** [Makefile:185: productzero] Error 2
:info:build gmake[2]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/hotspot/make'
:info:build gmake[1]: *** [HotspotWrapper.gmk:45: /opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/build/openjdk8/hotspot/_hotspot.timestamp] Error 2
:info:build gmake[1]: Leaving directory '/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga/make'
:info:build gnumake: *** [hotspot-only] Error 2
:info:build gnumake: Leaving directory `/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga'
:info:build Command failed:  cd "/opt/local/var/macports/build/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/work/jdk8u-jdk8u402-ga" && /usr/bin/gnumake -j1 COMPILER_WARNINGS_FATAL=false -w all 
:info:build Exit code: 2
:error:build Failed to build openjdk8: command execution failed
:debug:build Error code: CHILDSTATUS 98188 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_Users_breun_Projects_macports-ports-test_java_openjdk8/openjdk8/main.log for details.

Apparently some changes are needed, but I don't know how to deal with this build failure.

Change History (12)

comment:1 Changed 4 months ago by breun (Nils Breunese)

Description: modified (diff)

comment:2 Changed 4 months ago by jmroot (Joshua Root)

#69124 was opened for the finite() error.

comment:3 Changed 3 months ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:4 Changed 3 months ago by Dave-Allured (Dave Allured)

  • I had to add github.com/openjdk to master_sites to get this version to work for me. I am unsure whether this is correct. @breun, would you please take a look and see if this addition is okay with you?
  • If anyone has the time, please test this portfile on your own system and report here, so that I can improve the testing profile of my PR. Thanks in advance.

comment:5 Changed 3 months ago by breun (Nils Breunese)

Looking at https://openjdk.org/projects/jdk/ it looks like the official repository is now on GitHub, so I think you should just replace https://git.openjdk.org/jdk8u/archive/refs/tags/ with https://github.com/openjdk/jdk8u/archive/refs/tags/

comment:6 Changed 4 weeks ago by breun (Nils Breunese)

comment:7 in reply to:  5 Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to breun:

Looking at https://openjdk.org/projects/jdk/ it looks like the official repository is now on GitHub, so I think you should just replace https://git.openjdk.org/jdk8u/archive/refs/tags/ with https://github.com/openjdk/jdk8u/archive/refs/tags/

Ideally one uses the facilities of the github portgroup for projects that are hosted on GitHub rather than implementing things manually.

comment:8 Changed 4 weeks ago by Dave-Allured (Dave Allured)

@breun @ryandesign

it looks like the official repository is now on GitHub, so I think you should just replace ...

The official release announcement points to a private repo for current source. So why use github?
https://mail.openjdk.org/pipermail/jdk8u-dev/2024-April/018329.html
https://openjdk-sources.osci.io/openjdk8/openjdk8u412-b08.tar.xz

comment:9 Changed 3 weeks ago by Dave-Allured (Dave Allured)

I am now working on updating the source build to 8u412. I switched to the official source repo and fixed some patches.
https://github.com/Dave-Allured/macports-ports/tree/openjdk8.5/java/openjdk8

The current problem for Ventura is:

... work/jdk8u412-b08/hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m:27:9:
note: did not find header 'JavaNativeFoundation.h' in framework 'JavaNativeFoundation'
(loaded from '/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks')

It looks like Apple dropped partial support for JavaNativeFoundation in recent SDK's. Do you have any idea how to fix this?

Last edited 3 weeks ago by Dave-Allured (Dave Allured) (previous) (diff)

comment:10 Changed 3 weeks ago by Dave-Allured (Dave Allured)

Missing JavaNativeFoundation was originally discussed in #63319, with no final resolution.

comment:11 Changed 3 weeks ago by Dave-Allured (Dave Allured)

The JavaNativeFoundation framework is present in all versions. However ...

C headers are present in the MacOS 13 SDK (Ventura):

[mac30:Library/Frameworks/JavaNativeFoundation.framework] dallured% pwd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/System/Library/Frameworks/JavaNativeFoundation.framework
[mac30:Library/Frameworks/JavaNativeFoundation.framework] dallured% ls -Tgo `find * -type f`
-rw-r--r--  1    2017 Mar  4 15:01:08 2023 Versions/A/Headers/JNFAssert.h
-rw-r--r--  1     764 Mar  4 15:01:08 2023 Versions/A/Headers/JNFAutoreleasePool.h
-rw-r--r--  1    1157 Mar  4 15:01:08 2023 Versions/A/Headers/JNFDate.h
-rw-r--r--  1    2185 Mar  4 15:01:09 2023 Versions/A/Headers/JNFException.h
-rw-r--r--  1   14031 Mar  4 15:01:09 2023 Versions/A/Headers/JNFJNI.h
-rw-r--r--  1    1547 Mar  4 15:01:09 2023 Versions/A/Headers/JNFJObjectWrapper.h
-rw-r--r--  1    1079 Mar  4 15:01:08 2023 Versions/A/Headers/JNFNumber.h
-rw-r--r--  1     682 Mar  4 15:01:08 2023 Versions/A/Headers/JNFObject.h
-rw-r--r--  1     810 Mar  4 15:01:09 2023 Versions/A/Headers/JNFPath.h
-rw-r--r--  1     632 Mar  4 15:01:09 2023 Versions/A/Headers/JNFRunLoop.h
-rw-r--r--  1     501 Mar  4 15:01:09 2023 Versions/A/Headers/JNFRunnable.h
-rw-r--r--  1    1594 Mar  4 15:01:08 2023 Versions/A/Headers/JNFString.h
-rw-r--r--  1    1948 Sep 26 13:24:22 2023 Versions/A/Headers/JNFThread.h
-rw-r--r--  1    2836 Mar  4 15:01:09 2023 Versions/A/Headers/JNFTypeCoercion.h
-rw-r--r--  1     820 Mar  4 15:01:09 2023 Versions/A/Headers/JavaNativeFoundation.h
-rw-r--r--  1   68548 Mar  4 15:01:08 2023 Versions/A/Headers/jnf_fallback_jni.h
-rw-r--r--  1     507 Mar  4 15:01:09 2023 Versions/A/Headers/jnf_fallback_jni_md.h
-rw-r--r--  1    3848 Mar  4 15:01:10 2023 Versions/A/JavaNativeFoundation.tbd
-rw-r--r--  1     137 Mar  4 15:00:20 2023 Versions/A/Modules/module.modulemap

C headers were removed in the MacOS 14 SDK (Sonoma):

[mac30:Library/Frameworks/JavaNativeFoundation.framework] dallured% pwd
/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/System/Library/Frameworks/JavaNativeFoundation.framework
[mac30:Library/Frameworks/JavaNativeFoundation.framework] dallured% ls -Tgo `find * -type f`
-rw-r--r--  1   3848 Nov 12 02:15:15 2023 Versions/A/JavaNativeFoundation.tbd

comment:12 Changed 3 weeks ago by Dave-Allured (Dave Allured)

Is it possible to select a framework specifically from /Library/Developer/CommandLineTools, rather than from the current Xcode bundle?

Note: See TracTickets for help on using tickets.