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: | new → assigned |
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 symbols → openjdk17 @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)
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 symbols → openjdk17 @17.0.13_0+release+server: Build fails on x86_64 Sonoma 14.7 undefined symbols |
---|
comment:8 follow-up: 10 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)
comment:10 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 and the build bot this build was successful.
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.