[MCOL-4962] Columnstore doesn't build with gcc 12 (on Fedora Rawhide) Created: 2022-01-19  Updated: 2022-05-25  Resolved: 2022-02-16

Status: Closed
Project: MariaDB ColumnStore
Component/s: Build
Affects Version/s: 6.2.1
Fix Version/s: 22.08.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Roman
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-25785 Add support for OpenSSL 3.0 Closed

 Description   

Columnstore currently attached to 10.8-based server branches (6.2.1.2 according to VERSION) fails to build on Fedora Rawhide, possibly specific to gcc 12:

/home/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.8.0/storage/columnstore/columnstore/dbcon/execplan/arithmeticcolumn.cpp: In member function 'const std::string execplan::ArithmeticColumn::nextToken(std::__cxx11::basic_string<char>::size_type&, char) const':
/home/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.8.0/storage/columnstore/columnstore/dbcon/execplan/arithmeticcolumn.cpp:297:12: error: conversion from 'int' to 'const std::string' {aka 'const std::__cxx11::basic_string<char>'} is ambiguous
  297 |     return 0;
      |            ^
In file included from /usr/include/c++/12/string:53,
                 from /home/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.8.0/storage/columnstore/columnstore/dbcon/execplan/arithmeticcolumn.cpp:23:
/usr/include/c++/12/bits/basic_string.h:732:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::nullptr_t) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::nullptr_t = std::nullptr_t]' (deleted)
  732 |       basic_string(nullptr_t) = delete;
      |       ^~~~~~~~~~~~
/usr/include/c++/12/bits/basic_string.h:634:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
  634 |       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
      |       ^~~~~~~~~~~~



 Comments   
Comment by Roman [ 2022-02-16 ]

Despite the fact that GCC 12 isn't yet released we fixed this compilation issue in the develop branch of the engine.

Generated at Thu Feb 08 02:54:20 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.