diff --git a/community-mysql-gcc12.patch b/community-mysql-gcc12.patch new file mode 100644 index 0000000..7c260be --- /dev/null +++ b/community-mysql-gcc12.patch @@ -0,0 +1,60 @@ +[ 47%] Building CXX object components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o +cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/components/logging && /usr/bin/g++ -DHAVE_CONFIG_H -DLZ4_DISABLE_DEPRECATE_WARNINGS -DMYSQL_COMPONENT -DRAPIDJSON_NO_SIZETYPEDEFINE -DRAPIDJSON_SCHEMA_USE_INTERNALREGEX=0 -DRAPIDJSON_SCHEMA_USE_STDREGEX=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_USE_MATH_DEFINES -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Dcomponent_log_sink_syseventlog_EXPORTS -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build -I/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/include -I/builddir/build/BUILD/mysql-8.0.28 -I/builddir/build/BUILD/mysql-8.0.28/include -isystem /builddir/build/BUILD/mysql-8.0.28/extra/rapidjson/include -isystem /usr/include/editline -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -fPIC -fvisibility=hidden -MD -MT components/logging/CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -MF CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o.d -o CMakeFiles/component_log_sink_syseventlog.dir/log_sink_syseventlog.cc.o -c /builddir/build/BUILD/mysql-8.0.28/components/logging/log_sink_syseventlog.cc +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc: In static member function 'static int keyring_common::service_definition::Log_builtins_keyring::line_submit(log_line*)': +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:12: error: 'unique_ptr' is not a member of 'std' + 266 | std::unique_ptr date{new char[date_length]}; + | ^~~~~~~~~~ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:49:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? + 48 | #include "mysqld_ername.h" + +++ |+#include + 49 | #endif /* IN_DOXYGEN */ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:266:23: error: expected primary-expression before 'char' + 266 | std::unique_ptr date{new char[date_length]}; + | ^~~~ +/builddir/build/BUILD/mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc:267:16: error: 'date' was not declared in this scope + 267 | strftime(date.get(), date_length, format, &tm); + | ^~~~ +gmake[2]: Leaving directory '/builddir/build/BUILD/mysql-8.0.28/redhat-linux-build' + + + +--- mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc 2021-12-17 17:07:27.000000000 +0100 ++++ mysql-8.0.28/components/keyrings/common/component_helpers/src/keyring_log_builtins_definition.cc_patched 2022-01-24 13:42:33.252351078 +0100 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + +[ 16%] Linking CXX executable ../runtime_output_directory/comp_client_err +cd /builddir/build/BUILD/mysql-8.0.28/redhat-linux-build/utilities && /usr/bin/cmake -E cmake_link_script CMakeFiles/comp_client_err.dir/link.txt --verbose=1 +/usr/bin/g++ -std=c++17 -fno-omit-frame-pointer -ftls-model=initial-exec -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wimplicit-fallthrough=5 -Wstringop-truncation -Wsuggest-override -Wmissing-include-dirs -Wextra-semi -Wlogical-op -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld -pie -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/.package_note-community-mysql-8.0.28-1.fc36.x86_64.ld CMakeFiles/comp_client_err.dir/comp_client_err.cc.o CMakeFiles/comp_client_err.dir/__/libmysql/errmsg.cc.o -o ../runtime_output_directory/comp_client_err ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmysys.a ../archive_output_directory/libstrings.a ../archive_output_directory/libmytime.a /usr/lib64/libz.so /usr/lib64/libzstd.so -lm /usr/lib64/libssl.so /usr/lib64/libcrypto.so +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc: In function 'std::ostream& operator<<(std::ostream&, const Datetime&)': +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:8: error: 'unique_ptr' is not a member of 'std' + 39 | std::unique_ptr date{new char[date_length]}; + | ^~~~~~~~~~ +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:30:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? + 29 | #include + +++ |+#include + 30 | +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:39:19: error: expected primary-expression before 'char' + 39 | std::unique_ptr date{new char[date_length]}; + | ^~~~ +/builddir/build/BUILD/mysql-8.0.28/client/logger.cc:40:12: error: 'date' was not declared in this scope + 40 | strftime(date.get(), date_length, format, &tm); + | ^~~~ +gmake[2]: *** [client/CMakeFiles/mysql_ssl_rsa_setup.dir/build.make:79: client/CMakeFiles/mysql_ssl_rsa_setup.dir/logger.cc.o] Error 1 +gmake[2]: *** Waiting for unfinished jobs.... + +--- mysql-8.0.28/client/logger.cc 2021-12-17 17:07:27.000000000 +0100 ++++ mysql-8.0.28/client/logger.cc_patched 2022-01-24 11:52:45.172650792 +0100 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + using namespace std; + diff --git a/community-mysql.spec b/community-mysql.spec index 32ee7cf..63c48e6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -122,6 +122,7 @@ Patch56: %{pkgnamepatch}-mtr.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch79: %{pkgnamepatch}-openssl3.patch Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch +Patch81: %{pkgnamepatch}-gcc12.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -397,6 +398,11 @@ the MySQL sources. %endif %patch80 -p1 +# GCC 12 has been introduced to F36 +%if 0%{?fedora} >= 36 +%patch81 -p1 +%endif + # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0