Bug #120246 XCode 26.4 fails to build 9.7.0-er2
Submitted: 10 Apr 14:11 Modified: 15 Apr 8:19
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:9.7.0-er2 OS:MacOS (26.4.1)
Assigned to: CPU Architecture:ARM

[10 Apr 14:11] Laurynas Biveinis
Description:
CMake options:
-DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=ON -DWITH_SYSTEM_LIBS=ON -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF -DFORCE_COLORED_OUTPUT=ON -DCMAKE_CXX_FLAGS=-g -DCMAKE_CXX_FLAGS_DEBUG=-g -DCMAKE_CXX_FLAGS_RELEASE=-O2 -DNDEBUG -g

...
-- The C compiler identification is AppleClang 21.0.0.21000099
-- The CXX compiler identification is AppleClang 21.0.0.21000099
...
FAILED: [code=1] libs/mysql/gtid/CMakeFiles/mysql_gtid.dir/tag_plain.cpp.o
/usr/bin/c++ -DHAVE_TLSv13 -DLZ4_DISABLE_DEPRECATE_WARNINGS -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/_build-debug -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/_build-debug/include -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2 -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/include -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs -isystem /Users/laurynas/vilniusdb/mysql-9.7.0-er2/extra/rapidjson/include -isystem /opt/homebrew/opt/openssl/include -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/editline -isystem /opt/homebrew/include -fno-omit-frame-pointer -ftls-model=initial-exec -g -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wno-null-conversion -Wno-unused-private-field -Wconditional-uninitialized -Wdeprecated -Wno-deprecated-declarations -Wno-shorten-64-to-32 -Wextra-semi -Wheader-hygiene -Wnon-virtual-dtor -Wundefined-reinterpret-cast -Wrange-loop-analysis -Winconsistent-missing-destructor-override -Winconsistent-missing-override -Wshadow-field -Wstring-concatenation -Wdocumentation -Wno-documentation-deprecated-sync -Werror -DSAFE_MUTEX -DENABLED_DEBUG_SYNC -g -std=gnu++23 -arch arm64 -fPIC -fcolor-diagnostics -MD -MT libs/mysql/gtid/CMakeFiles/mysql_gtid.dir/tag_plain.cpp.o -MF libs/mysql/gtid/CMakeFiles/mysql_gtid.dir/tag_plain.cpp.o.d  --language=c++  -o libs/mysql/gtid/CMakeFiles/mysql_gtid.dir/tag_plain.cpp.o -c /Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs/mysql/gtid/tag_plain.cpp
In file included from /Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs/mysql/gtid/tag_plain.cpp:24:
/Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs/mysql/gtid/tag_plain.h:83:20: error: no template named 'is_trivial_v' in namespace 'std'; did you mean 'is_final_v'?
   83 | static_assert(std::is_trivial_v<Tag_plain>);
      |               ~~~~~^~~~~~~~~~~~
      |                    is_final_v
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_final.h:31:50: note: 'is_final_v' declared here
   31 | _LIBCPP_NO_SPECIALIZATIONS inline constexpr bool is_final_v = __is_final(_Tp);
      |                                                  ^
In file included from /Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs/mysql/gtid/tag_plain.cpp:24:
/Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs/mysql/gtid/tag_plain.h:83:15: error: static assertion failed due to requirement 'std::is_final_v<mysql::gtid::Tag_plain>'
   83 | static_assert(std::is_trivial_v<Tag_plain>);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

XCode 26.4 release notes list
"std::is_trivial and std::is_trivial_v are deprecated in C++26 and later.", which cannot be the diret cause but maybe they changed more than that

How to repeat:
See above
[15 Apr 8:19] Laurynas Biveinis
With a different compiler I hit the following error, which I also attribute to XCode 26.4 (system libc):

FAILED: [code=1] mysys/CMakeFiles/mysys.dir/stacktrace.cc.o
/opt/homebrew/opt/llvm@20/bin/clang++ -DHAVE_TLSv13 -DLZ4_DISABLE_DEPRECATE_WARNINGS -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/_build-llvm-20-debug -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/_build-llvm-20-debug/include -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2 -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/include -I/Users/laurynas/vilniusdb/mysql-9.7.0-er2/libs -isystem /Users/laurynas/vilniusdb/mysql-9.7.0-er2/extra/rapidjson/include -isystem /opt/homebrew/opt/openssl/include -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/editline -isystem /opt/homebrew/include -isystem /Users/laurynas/vilniusdb/mysql-9.7.0-er2/extra/zlib/zlib-1.3.2 -isystem /Users/laurynas/vilniusdb/mysql-9.7.0-er2/_build-llvm-20-debug/extra/zlib/zlib-1.3.2 -fno-omit-frame-pointer -ftls-model=initial-exec -g -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wno-null-conversion -Wno-unused-private-field -Wconditional-uninitialized -Wdeprecated -Wno-deprecated-declarations -Wno-shorten-64-to-32 -Wextra-semi -Wheader-hygiene -Wnon-virtual-dtor -Wundefined-reinterpret-cast -Wrange-loop-analysis -Winconsistent-missing-destructor-override -Winconsistent-missing-override -Wshadow-field -Wstring-concatenation -Wdocumentation -Wno-documentation-deprecated-sync -Werror -DSAFE_MUTEX -DENABLED_DEBUG_SYNC -g -std=gnu++23 -arch arm64 -fPIC -fcolor-diagnostics -Wshadow-uncaptured-local -MD -MT mysys/CMakeFiles/mysys.dir/stacktrace.cc.o -MF mysys/CMakeFiles/mysys.dir/stacktrace.cc.o.d  --language=c++  -o mysys/CMakeFiles/mysys.dir/stacktrace.cc.o -c /Users/laurynas/vilniusdb/mysql-9.7.0-er2/mysys/stacktrace.cc
/Users/laurynas/vilniusdb/mysql-9.7.0-er2/mysys/stacktrace.cc:284:3: error: use of undeclared identifier 'free'
  284 |   free(demangled);
      |   ^
/Users/laurynas/vilniusdb/mysql-9.7.0-er2/mysys/stacktrace.cc:327:5: error: use of undeclared identifier 'free'
  327 |     free(strings);
      |     ^