Bug 274940 - java/openjdk17: fails to build on aarch64
Summary: java/openjdk17: fails to build on aarch64
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: arm64 Any
: --- Affects Some People
Assignee: freebsd-java (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-06 14:11 UTC by Jon Theil Nielsen
Modified: 2023-11-20 11:58 UTC (History)
4 users (show)

See Also:
glewis: maintainer-feedback+


Attachments
v0 (1.10 KB, patch)
2023-11-10 12:17 UTC, Mikael Urankar
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Theil Nielsen 2023-11-06 14:11:31 UTC
I can't build the port on an arm64 system.

The log shows

/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:966:62: error: function definition is not allowed here                                   [24/10617]
void os::print_tos_pc(outputStream *st, const void *context) {                                                                                                                                            
                                                             ^                                                                                                                                            
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:983:69: error: function definition is not allowed here                                             
void os::print_register_info(outputStream *st, const void *context) {                                                                                                                                     
                                                                    ^                                                                                                                                     
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1010:22: error: function definition is not allowed here
void os::setup_fpu() {
                     ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1019:36: error: function definition is not allowed here
int os::extra_bang_size_in_bytes() {
                                   ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1024:8: error: expected unqualified-id
extern "C" {
       ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1094:20: error: expected '}'
#endif // __APPLE__
                   ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:950:63: note: to match this '{'
void os::print_context(outputStream *st, const void *context) {
                                                              ^
6 errors generated.
gmake[4]: *** [lib/CompileJvm.gmk:160: /usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/build/bsd-aarch64-server-release/hotspot/variant-server/libjvm/objs/os_bsd_aarch64.o] Error 1
gmake[4]: *** Waiting for unfinished jobs....
gmake[4]: Leaving directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/make/hotspot'
gmake[3]: *** [make/Main.gmk:252: hotspot-server-libs] Error 2
gmake[3]: Leaving directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1'

ERROR: Build failed for target 'images' in configuration 'bsd-aarch64-server-release' (exit code 2) 
gmake[3]: Entering directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1'

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_os_bsd_aarch64.o:
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:966:62: error: function definition is not allowed here
void os::print_tos_pc(outputStream *st, const void *context) {
                                                             ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:983:69: error: function definition is not allowed here
void os::print_register_info(outputStream *st, const void *context) {
                                                                    ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1010:22: error: function definition is not allowed here
void os::setup_fpu() {
                     ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1019:36: error: function definition is not allowed here
int os::extra_bang_size_in_bytes() {
                                   ^
/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp:1024:8: error: expected unqualified-id
extern "C" {
       ^
   ... (rest of output omitted)

* All command lines available in /usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/build/bsd-aarch64-server-release/make-support/failure-logs.
=== End of repeated output ===

No indication of failed target found.
Hint: Try searching the build log for '] Error'.
Hint: See doc/building.html#troubleshooting for assistance.

gmake[3]: Leaving directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1'
gmake[2]: *** [/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/make/Init.gmk:318: main] Error 2
gmake[2]: Leaving directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1'
gmake[1]: *** [/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/make/Init.gmk:189: images] Error 2
gmake[1]: Leaving directory '/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1'
===> Compilation failed unexpectedly.
Comment 1 Mikael Urankar freebsd_committer freebsd_triage 2023-11-10 12:17:13 UTC
Created attachment 246233 [details]
v0

Try the attached patch please.
Comment 2 Jon Theil Nielsen 2023-11-11 18:24:46 UTC
The patch resolved the issue. Thank you very much.
Comment 3 Mikael Urankar freebsd_committer freebsd_triage 2023-11-13 09:53:03 UTC
https://github.com/battleblow/jdk17u/pull/4
Comment 4 Greg Lewis freebsd_committer freebsd_triage 2023-11-19 03:14:20 UTC
Mikael, are you able to commit the patch?  If so please go ahead
Comment 5 commit-hook freebsd_committer freebsd_triage 2023-11-20 11:39:12 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5db81da56a1828428702d4fb838b9431046f4009

commit 5db81da56a1828428702d4fb838b9431046f4009
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2023-11-10 12:13:21 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2023-11-20 11:39:00 +0000

    java/openjdk17: Fix build on aarch64

    PR:             274940
    Approved by:    glewis@

 ...src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp (new) | 10 ++++++++++
 1 file changed, 10 insertions(+)
Comment 6 commit-hook freebsd_committer freebsd_triage 2023-11-20 11:49:15 UTC
A commit in branch 2023Q4 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=232d04f30b68900905756b288494dde96aaf7bdb

commit 232d04f30b68900905756b288494dde96aaf7bdb
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2023-11-10 12:13:21 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2023-11-20 11:40:42 +0000

    java/openjdk17: Fix build on aarch64

    PR:             274940
    Approved by:    glewis@

    (cherry picked from commit 5db81da56a1828428702d4fb838b9431046f4009)

 ...src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp (new) | 10 ++++++++++
 1 file changed, 10 insertions(+)