We're seeing build failures in the JDK12 CI after the fix for
JDK-8202794 Native Unix code should use readdir rather than readdir_r
was pushed.
The Linux version of the error looks likes this:
jib > === Output from failing command(s) repeated here ===
jib > * For target support_native_jdk.management_libmanagement_ext_OperatingSystemImpl.o:
jib > /scratch/opt/mach5/mesos/work_dir/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S282113/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6aa5efa7-f545-48d8-a871-6ef900e0dbcc/runs/1fc72344-d507-43a2-8385-31e0b637dda4/workspace/open/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c: In function 'Java_com_sun_management_internal_OperatingSystemImpl_getOpenFileDescriptorCount0':
jib > /scratch/opt/mach5/mesos/work_dir/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S282113/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6aa5efa7-f545-48d8-a871-6ef900e0dbcc/runs/1fc72344-d507-43a2-8385-31e0b637dda4/workspace/open/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c:445:19: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
jib > while ((dentp = readdir64(dirp)) != NULL) {
jib > ^
jib > cc1: all warnings being treated as errors
jib >
jib > * All command lines available in /scratch/opt/mach5/mesos/work_dir/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S282113/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6aa5efa7-f545-48d8-a871-6ef900e0dbcc/runs/1fc72344-d507-43a2-8385-31e0b637dda4/workspace/build/linux-x64-debug/make-support/failure-logs.
jib > === End of repeated output ===
The Solaris SPARC error mesg is different:
jib > === Output from failing command(s) repeated here ===
jib > * For target support_native_jdk.management_libmanagement_ext_OperatingSystemImpl.o:
jib > "/scratch/opt/mach5/mesos/work_dir/40e5fcd4-9018-43c2-928a-d24e4c394190/workspace/open/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c", line 445: error: assignment type mismatch:
jib > pointer to struct dirent {..} "=" pointer to struct dirent64 {..} (E_ASSIGNMENT_TYPE_MISMATCH)
jib > cc: acomp failed for /scratch/opt/mach5/mesos/work_dir/40e5fcd4-9018-43c2-928a-d24e4c394190/workspace/open/src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c
jib >
jib > * All command lines available in /scratch/opt/mach5/mesos/work_dir/40e5fcd4-9018-43c2-928a-d24e4c394190/workspace/build/solaris-sparcv9/make-support/failure-logs.
jib > === End of repeated output ===