Tuesday, October 28, 2025

Building and testing MySQL 8.0.44 / 8.4.7 / 9.5.0 releases on macOS

Oracle MySQL 8.0.44 / 8.4.7 / 9.5.0 are out and it's time for me to build and run their tests on macOS, Apple Silicon hardware. I have skipped the review of the previous set of releases this summer due to personal reasons, so this covers the delta from 8.0.42 / 8.4.5 / 9.3.0, out in spring.

Build

No need to use any of the bundled 3rd party libraries, and the current XCode (26.0.1) compiles all the releases. As usual, things get more interesting with Homebrew-packaged LLVM. All releases fail to build with LLVM 17 and lower versions with a bizarre CMake error, which may have to do more with the newer macOS version 26 than MySQL. LLVM 18 and 19 build fine.

8.0.44: does not build with 20 & 21:

8.4.7: builds with LLVM 20, and 21 has a different error than 8.0.44: Bug #119242 8.4.7 fails to build with clang 21.

9.5.0: builds with LLVM 20, and 21 has a different error from both 8.0.44 and 8.4.7: Bug #119246 9.5.0 compilation error with LLVM 21

The newest compiler errors are, unfortunately, expected. So, all in all, things are looking good here.

Tests

A lot of churn here over the past two releases.

Bad news:

No news, aka previously reported bugs with no to little changes:

Good news:

One-off issues:

  • merge_innodb-t on 8.0.44 and 8.4.7, debug + sanitizers build
  • gcs_xcom_control_interface on 8.0.44 and 9.5.0 release builds
  • routertest_integration_routing_direct on 8.0.44 release build
  • binlog_gtid.binlog_check_gtid_persistor_compatibility crashed on 8.4.7 debug build
  • rpl_gtid.rpl_gtids_table_disable_binlog_on_slave result difference on 8.4.7 debug build
  • innodb.trigger_function_lock_compare timeout on 8.4.7 debug build
  • routertest_integration_routing_splitting on 8.4.7 debug w/ sanitizers builds, maybe Bug #116378 routertest_integration_routing_splitting crashing under AddressSanitizer, but was not able to confirm
  • perfschema.keyring_keys result difference on 8.4.7 release build
  • json.array_index result difference on 9.5.0 debug w/ sanitizers build
  • perfschema.error_log result difference on 9.5.0 debug w/ sanitizers build
  • main.slow_log result difference on 9.5.0 debug w/ sanitizers build
  • router.app_specific_metadata_v_latest result difference on 9.5.0 release build
  • innodb_undo.truncate test assertion failure on 9.5.0 debug build

Conclusion

Without the one-offs I have 9 new, 15 unchanged, and 12 fixed bugs. At last the fixed ones outnumber the new ones, hopefully this trend will continue.