Opened 7 months ago

Last modified 3 weeks ago

#69817 assigned defect

openjdk17 @17.0.13_0+release+server: Build fails on x86_64 Sonoma 14.7 undefined symbols

Reported by: rswail (Ron Wail) Owned by: usersxx
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc: breun (Nils Breunese)
Port: openjdk17

Description

Build failed with the following errors in the log:

  :info:build gmake[3]: Entering directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports
  _release_tarballs_ports_java_openjdk17/openjdk17/work/jdk-17.0.11+9/make'
  :info:build Creating support/modules_libs/java.base/libverify.dylib from 1 file(s)
  :info:build Creating support/modules_libs/java.base/libjava.dylib from 60 file(s)
  :info:build Creating support/native/java.base/libfdlibm.a from 57 file(s)
  :info:build Creating support/modules_libs/java.base/libzip.dylib from 5 file(s)
  :info:build Creating support/modules_libs/java.base/libjimage.dylib from 6 file(s)
  :info:build Creating support/modules_libs/java.base/libjli.dylib from 8 file(s)
  :info:build Creating support/modules_libs/java.base/libnet.dylib from 22 file(s)
  :info:build Creating support/modules_libs/java.base/libnio.dylib from 22 file(s)
  :info:build Creating support/modules_libs/java.base/libosxsecurity.dylib from 1 file(s)
  :info:build Creating support/modules_libs/java.base/libjsig.dylib from 1 file(s)
  :info:build Undefined symbols for architecture x86_64:
  :info:build   "_NET_Bind", referenced from:
  :info:build       _Java_sun_nio_ch_Net_bind0 in Net.o
  :info:build   "_NET_GetPortFromSockaddr", referenced from:
  :info:build       _Java_sun_nio_ch_Net_localPort in Net.o
  :info:build       _Java_sun_nio_ch_Net_remotePort in Net.o
  :info:build   "_NET_GetSockOpt", referenced from:
  :info:build       _Java_sun_nio_ch_Net_getIntOption0 in Net.o
  :info:build   "_NET_InetAddressToSockaddr", referenced from:
  :info:build       _Java_sun_nio_ch_Net_bind0 in Net.o
  :info:build       _Java_sun_nio_ch_Net_connect0 in Net.o
  :info:build   "_NET_SetSockOpt", referenced from:
  :info:build       _Java_sun_nio_ch_Net_setIntOption0 in Net.o
  :info:build   "_NET_SockaddrToInetAddress", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_inetPeerAddress0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_InheritedChannel_peerPort0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_accept in Net.o
  :info:build       _Java_sun_nio_ch_Net_localInetAddress in Net.o
  :info:build       _Java_sun_nio_ch_Net_remoteInetAddress in Net.o
  :info:build   "_NET_SocketAvailable", referenced from:
  :info:build       _Java_sun_nio_ch_Net_available in Net.o
  :info:build   "_initInetAddressIDs", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_initIDs in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_initIDs in Net.o
  :info:build   "_ipv4_available", referenced from:
  :info:build       _Java_sun_nio_ch_Net_socket0 in Net.o
  :info:build   "_ipv6_available", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_inetPeerAddress0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_InheritedChannel_peerPort0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_isIPv6Available0 in Net.o
  :info:build       _Java_sun_nio_ch_Net_socket0 in Net.o
  :info:build   "_reuseport_available", referenced from:
  :info:build       _Java_sun_nio_ch_Net_isReusePortAvailable0 in Net.o

Change History (11)

comment:1 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to usersxx
Status: newassigned

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

Cc: breun added
Summary: Build of release+server version 17.0.11_1 fails on x86_64 Sonoma 14.4.1 undefined symbolsopenjdk17 @17.0.11_1+release+server: Build fails on x86_64 Sonoma 14.4.1 undefined symbols

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

I don't have access to a device with macOS Sonoma x86_64, but https://ports.macports.org/port/openjdk17/details/ shows a successful build on Sonoma x86_64.

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

https://packages.macports.net/openjdk17/ also shows openjdk17-17.0.11_1+release+server.darwin_23.x86_64.tbz2, so I believe MacPorts should be able to fetch this pre-built binary archive. Did you specifically request a build from source?

comment:5 Changed 7 months ago by rswail (Ron Wail)

No, just a normal "port upgrade outdated". I don't have the output from when I ran that to see whether or not it tried to get the binary and failed.

Just retried and it was able to be downloaded as a binary and install successfully.

comment:6 Changed 3 weeks ago by rswail (Ron Wail)

Further update that there is no binary build of release 17.0.13_0+release+server.darwin_23.x86_64 in the macports binary archive and the build fails when building from source with the same _NET symbols missing.

Note that there is a build for darwin_24.

comment:7 Changed 3 weeks ago by rswail (Ron Wail)

Summary: openjdk17 @17.0.11_1+release+server: Build fails on x86_64 Sonoma 14.4.1 undefined symbolsopenjdk17 @17.0.13_0+release+server: Build fails on x86_64 Sonoma 14.7 undefined symbols

comment:8 Changed 3 weeks ago by breun (Nils Breunese)

The build bots do show a successful build on macOS 14 x86_64: https://build.macports.org/builders/ports-14_x86_64-builder/builds/50223

comment:9 Changed 3 weeks ago by rswail (Ron Wail)

Binary is not in the archive at https://packages.macports.org/openjdk17/ for darwin23. There is an ARM build, but not an x86_64.

May be related to #69440.

Similar issues when building via homebrew for MacOS and Linux, see https://gist.github.com/clpo13/9e8df29fbaad96949da295afbc7d0c04

Relevant log information here:

 :info:build gmake[3]: Leaving directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs
  _ports_java_openjdk17/openjdk17/work/jdk-17.0.13+11/make/hotspot'
  :info:build gmake[3]: Entering directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarball
  s_ports_java_openjdk17/openjdk17/work/jdk-17.0.13+11/make'
  :info:build Creating support/modules_libs/java.base/libverify.dylib from 1 file(s)
  :info:build Creating support/modules_libs/java.base/libjava.dylib from 60 file(s)
  :info:build Creating support/native/java.base/libfdlibm.a from 57 file(s)
  :info:build Creating support/modules_libs/java.base/libzip.dylib from 5 file(s)
  :info:build Creating support/modules_libs/java.base/libjimage.dylib from 6 file(s)
  :info:build Creating support/modules_libs/java.base/libjli.dylib from 8 file(s)
  :info:build Creating support/modules_libs/java.base/libnet.dylib from 22 file(s)
  :info:build Creating support/modules_libs/java.base/libnio.dylib from 22 file(s)
  :info:build Creating support/modules_libs/java.base/libosxsecurity.dylib from 1 file(s)
  :info:build Creating support/modules_libs/java.base/libjsig.dylib from 1 file(s)
  :info:build Undefined symbols for architecture x86_64:
  :info:build   "_NET_Bind", referenced from:
  :info:build       _Java_sun_nio_ch_Net_bind0 in Net.o
  :info:build   "_NET_GetPortFromSockaddr", referenced from:
  :info:build       _Java_sun_nio_ch_Net_localPort in Net.o
  :info:build       _Java_sun_nio_ch_Net_remotePort in Net.o
  :info:build   "_NET_GetSockOpt", referenced from:
  :info:build       _Java_sun_nio_ch_Net_getIntOption0 in Net.o
  :info:build   "_NET_InetAddressToSockaddr", referenced from:
  :info:build       _Java_sun_nio_ch_Net_bind0 in Net.o
  :info:build       _Java_sun_nio_ch_Net_connect0 in Net.o
  :info:build   "_NET_SetSockOpt", referenced from:
  :info:build       _Java_sun_nio_ch_Net_setIntOption0 in Net.o
  :info:build   "_NET_SockaddrToInetAddress", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_inetPeerAddress0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_InheritedChannel_peerPort0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_accept in Net.o
  :info:build       _Java_sun_nio_ch_Net_localInetAddress in Net.o
  :info:build       _Java_sun_nio_ch_Net_remoteInetAddress in Net.o
  :info:build   "_NET_SocketAvailable", referenced from:
  :info:build       _Java_sun_nio_ch_Net_available in Net.o
  :info:build   "_initInetAddressIDs", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_initIDs in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_initIDs in Net.o
  :info:build   "_ipv4_available", referenced from:
  :info:build       _Java_sun_nio_ch_Net_socket0 in Net.o
  :info:build   "_ipv6_available", referenced from:
  :info:build       _Java_sun_nio_ch_InheritedChannel_inetPeerAddress0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_InheritedChannel_peerPort0 in InheritedChannel.o
  :info:build       _Java_sun_nio_ch_Net_isIPv6Available0 in Net.o
  :info:build       _Java_sun_nio_ch_Net_socket0 in Net.o
  :info:build   "_reuseport_available", referenced from:
  :info:build       _Java_sun_nio_ch_Net_isReusePortAvailable0 in Net.o
  :info:build ld: symbol(s) not found for architecture x86_64
  :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
  :info:build gmake[3]: *** [Lib.gmk:71: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_p
  orts_java_openjdk17/openjdk17/work/jdk-17.0.13+11/build/release/support/modules_libs/java.base/libnio.dylib] Error 1
  :info:build gmake[3]: *** Waiting for unfinished jobs....
  :info:build gmake[3]: Leaving directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs
  _ports_java_openjdk17/openjdk17/work/jdk-17.0.13+11/make'
  :info:build gmake[2]: *** [make/Main.gmk:199: java.base-libs] Error 2
  :info:build gmake[2]: *** Waiting for unfinished jobs....
  :info:build gmake[3]: Leaving directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs
  _ports_java_openjdk17/openjdk17/work/jdk-17.0.13+11/make'
  :info:build gmake[2]: Leaving directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs
  _ports_java_openjdk17/openjdk17/work/jdk-17.0.13+11'
  :info:build ERROR: Build failed for target 'images' in configuration 'release' (exit code 2)
Last edited 3 weeks ago by rswail (Ron Wail) (previous) (diff)

comment:10 in reply to:  8 Changed 3 weeks ago by rswail (Ron Wail)

Replying to breun:

The build bots do show a successful build on macOS 14 x86_64: https://build.macports.org/builders/ports-14_x86_64-builder/builds/50223

There is a binary build now available, but before that I was digging through the logs and the only thing I found was a mention of the MacOS15.sdk in one part and MacOS14.sdk in another. The actual function NET_Bind et al are in the native part of the java.base net source. There is an implementation under the unix/ and windows/ directories, but not under macosx/.

comment:11 Changed 3 weeks ago by breun (Nils Breunese)

I don't know why this failed on your machine, but for me locally (macOS 15) and the build bot (macOS 10.14 - 15) this build was successful.

Last edited 3 weeks ago by breun (Nils Breunese) (previous) (diff)
Note: See TracTickets for help on using tickets.