Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-9527

build FAILs with GCC 5.1 with release supported "-std=c+11"

Details

    Description

      Per https://gcc.gnu.org/projects/cxx1y.html

      C++14 support (CXXFLAGS ="... -std=c++14") in GCC 5 is still experimental

      Important: Because the final ISO C++14 standard was only recently published, GCC's support is experimental

      OTOH, per https://gcc.gnu.org/projects/cxx0x.html

      Important: Before GCC 5.1 support for C++11 was experimental. Some features were implemented based on early proposals, and no attempt was made to maintain backward compatibility when they were updated to match the final C++11 standard.

      and particularly, https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

      Full support for C++11, including the following new features: ...

      C++11 support (CXXFLAGS ="... -std=c++11") in GCC 5.1 is in RELEASE.

      With MDB 10.1 latest

      git log | head
          commit 07b8aefe90ca830d2de068f2966cd2288b158a88
          Author: Sergei Petrunia <psergey@askmonty.org>
          Date:   Wed Feb 3 00:15:49 2016 +0300
       
              MDEV-9504: ANALYZE TABLE shows wrong 'rows' value for ORDER BY query
              
              Revert the patch for MDEV-9504.
              It causes test failures, attempt to fix these causes more failures. The
              source of all this is that the code in test_if_skip_sort_order() has
              a peculiar way of treating select_limit parameter:

      cmake & build with config

          cmake .. \
          ...
           -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"

      results in no errors on config or build

      changing

          cmake .. \
          ...
      -    -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"
      +    -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona -std=c++11"

      results in NO error on config, but FAILs on subsequent build

      make -j4 V=1
          Scanning dependencies of target abi_check
          Scanning dependencies of target INFO_BIN
          Scanning dependencies of target INFO_SRC
          Scanning dependencies of target strings
          Scanning dependencies of target readline
          [  0%] Built target INFO_BIN
          ...
          [  3%] Building C object extra/readline/CMakeFiles/readline.dir/complete.c.o
          [  3%] Building C object strings/CMakeFiles/strings.dir/ctype-eucjpms.c.o
          In file included from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:0:
          /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:33:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
           typedef std::auto_ptr<hstcpcli_i> hstcpcli_ptr;
                        ^
          In file included from /usr/include/c++/5/memory:81:0,
                           from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:15,
                           from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:
          /usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
             template<typename> class auto_ptr;
                                      ^
          [  3%] Building C object strings/CMakeFiles/strings.dir/ctype-extra.c.o
          ...
          [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0crc32.cc.o
          In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                           from /usr/local/src/mariadb/sql/sql_lex.h:26,
                           from /usr/local/src/mariadb/sql/sql_class.h:495,
                           from /usr/local/src/mariadb/sql/sql_acl.h:21,
                           from /usr/local/src/mariadb/sql/sql_parse.h:20,
                           from /usr/local/src/mariadb/sql/ha_partition.cc:51:
          /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
          /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
               return isfinite(value) ? value : raise_float_overflow();
                                    ^
          /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
          In file included from /usr/include/c++/5/random:38:0,
                           from /usr/include/c++/5/bits/stl_algo.h:66,
                           from /usr/include/c++/5/algorithm:62,
                           from /usr/local/src/mariadb/sql/mdl.h:33,
                           from /usr/local/src/mariadb/sql/handler.h:35,
                           from /usr/local/src/mariadb/sql/log.h:20,
                           from /usr/local/src/mariadb/sql/sql_class.h:27,
                           from /usr/local/src/mariadb/sql/sql_acl.h:21,
                           from /usr/local/src/mariadb/sql/sql_parse.h:20,
                           from /usr/local/src/mariadb/sql/ha_partition.cc:51:
          /usr/include/c++/5/cmath:601:5: note:   ‘std::isfinite’
               isfinite(_Tp __x)
               ^
          [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0ut.cc.o
          [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/page/page0zip.cc.o
          Scanning dependencies of target xtradb
          [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/my_time.c.o
          sql/CMakeFiles/partition.dir/build.make:62: recipe for target 'sql/CMakeFiles/partition.dir/ha_partition.cc.o' failed
          make[2]: *** [sql/CMakeFiles/partition.dir/ha_partition.cc.o] Error 1
          CMakeFiles/Makefile2:5345: recipe for target 'sql/CMakeFiles/partition.dir/all' failed
          make[1]: *** [sql/CMakeFiles/partition.dir/all] Error 2
          make[1]: *** Waiting for unfinished jobs....
          [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o
          ...
          [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0load.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/dict/dict0crea.cc:46:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/dict/dict0load.cc:47:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0mem.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/dict/dict0mem.cc:37:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 32%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0stats.cc.o
          ...
          [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0blex.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:31:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:6277:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
            ret = sscanf(tmp_id, "%016"PRIu64, &dec_id);
                                 ^
          [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0config.cc.o
          [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0opt.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/fts/fts0config.cc:29:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0pars.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/fts/fts0opt.cc:31:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0que.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/fts/fts0que.cc:31:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0sql.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/fts/fts0sql.cc:31:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0tlex.cc.o
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/handler0alter.cc.o
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:111:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/handler/handler0alter.cc:50:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/xtradb_i_s.cc.o
          In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                           from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:70:
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
              return(sprintf(str, "%016"PRIu64, id)););
                                  ^
          /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             return(sprintf(str, "%016"PRIu64, id));
                                 ^
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/ibuf/ibuf0ibuf.cc.o
          In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                           from /usr/local/src/mariadb/sql/sql_lex.h:26,
                           from /usr/local/src/mariadb/sql/sql_class.h:495,
                           from /usr/local/src/mariadb/sql/sql_acl.h:21,
                           from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
          /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
          /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
               return isfinite(value) ? value : raise_float_overflow();
                                    ^
          /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
          In file included from /usr/include/c++/5/random:38:0,
                           from /usr/include/c++/5/bits/stl_algo.h:66,
                           from /usr/include/c++/5/algorithm:62,
                           from /usr/local/src/mariadb/sql/mdl.h:33,
                           from /usr/local/src/mariadb/sql/handler.h:35,
                           from /usr/local/src/mariadb/sql/log.h:20,
                           from /usr/local/src/mariadb/sql/sql_class.h:27,
                           from /usr/local/src/mariadb/sql/sql_acl.h:21,
                           from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
          /usr/include/c++/5/cmath:601:5: note:   ‘std::isfinite’
               isfinite(_Tp __x)
               ^
          In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                           from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
          /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
          /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
               return isfinite(value) ? value : raise_float_overflow();
                                    ^
          /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
          In file included from /usr/include/c++/5/random:38:0,
                           from /usr/include/c++/5/bits/stl_algo.h:66,
                           from /usr/include/c++/5/algorithm:62,
                           from /usr/local/src/mariadb/sql/mdl.h:33,
                           from /usr/local/src/mariadb/sql/table.h:22,
                           from /usr/local/src/mariadb/sql/field.h:29,
                           from /usr/local/src/mariadb/sql/unireg.h:171,
                           from /usr/local/src/mariadb/sql/item.h:26,
                           from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
          /usr/include/c++/5/cmath:601:5: note:   ‘std::isfinite’
               isfinite(_Tp __x)
               ^
          [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/lock/lock0iter.cc.o
          storage/xtradb/CMakeFiles/xtradb.dir/build.make:1190: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o' failed
          make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o] Error 1
          make[2]: *** Waiting for unfinished jobs....
          storage/xtradb/CMakeFiles/xtradb.dir/build.make:1238: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o' failed
          make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o] Error 1
          CMakeFiles/Makefile2:542: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/all' failed
          make[1]: *** [storage/xtradb/CMakeFiles/xtradb.dir/all] Error 2
          Makefile:149: recipe for target 'all' failed
          make: *** [all] Error 2

      Attachments

        Issue Links

          Activity

            pgnd pgnd created issue -
            serg Sergei Golubchik made changes -
            Field Original Value New Value
            Description Per

              https://gcc.gnu.org/projects/cxx1y.html

            C++14 support (CXXFLAGS ="... -std=c++14") in GCC 5 is still experimental

                "Important: Because the final ISO C++14 standard was only recently published, GCC's support is experimental"

            OTOH, per

              https://gcc.gnu.org/projects/cxx0x.html

                "Important: Before GCC 5.1 support for C++11 was experimental. Some features were implemented based on early proposals, and no attempt was made to maintain backward compatibility when they were updated to match the final C++11 standard.

            and particularly,

              https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

                "Full support for C++11, including the following new features: ..."

            C++11 support (CXXFLAGS ="... -std=c++11") in GCC 5.1 is in RELEASE.

            With MDB 10.1 latest

                git log | head
                    commit 07b8aefe90ca830d2de068f2966cd2288b158a88
                    Author: Sergei Petrunia <psergey@askmonty.org>
                    Date: Wed Feb 3 00:15:49 2016 +0300

                        MDEV-9504: ANALYZE TABLE shows wrong 'rows' value for ORDER BY query
                        
                        Revert the patch for MDEV-9504.
                        It causes test failures, attempt to fix these causes more failures. The
                        source of all this is that the code in test_if_skip_sort_order() has
                        a peculiar way of treating select_limit parameter:

            cmake & build with config

                cmake .. \
                ...
                -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"

            results in no errors on config or build

            changing

                cmake .. \
                ...
            - -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"
            + -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona -std=c++11"

            results in NO error on config, but FAILs on subsequent build

                make -j4 V=1
                    Scanning dependencies of target abi_check
                    Scanning dependencies of target INFO_BIN
                    Scanning dependencies of target INFO_SRC
                    Scanning dependencies of target strings
                    Scanning dependencies of target readline
                    [ 0%] Built target INFO_BIN
                    ...
                    [ 3%] Building C object extra/readline/CMakeFiles/readline.dir/complete.c.o
                    [ 3%] Building C object strings/CMakeFiles/strings.dir/ctype-eucjpms.c.o
                    In file included from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:0:
                    /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:33:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
                     typedef std::auto_ptr<hstcpcli_i> hstcpcli_ptr;
                                  ^
                    In file included from /usr/include/c++/5/memory:81:0,
                                     from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:15,
                                     from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:
                    /usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
                       template<typename> class auto_ptr;
                                                ^
                    [ 3%] Building C object strings/CMakeFiles/strings.dir/ctype-extra.c.o
                    ...
                    [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0crc32.cc.o
                    In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                     from /usr/local/src/mariadb/sql/sql_lex.h:26,
                                     from /usr/local/src/mariadb/sql/sql_class.h:495,
                                     from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                     from /usr/local/src/mariadb/sql/sql_parse.h:20,
                                     from /usr/local/src/mariadb/sql/ha_partition.cc:51:
                    /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                    /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                         return isfinite(value) ? value : raise_float_overflow();
                                              ^
                    /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                    In file included from /usr/include/c++/5/random:38:0,
                                     from /usr/include/c++/5/bits/stl_algo.h:66,
                                     from /usr/include/c++/5/algorithm:62,
                                     from /usr/local/src/mariadb/sql/mdl.h:33,
                                     from /usr/local/src/mariadb/sql/handler.h:35,
                                     from /usr/local/src/mariadb/sql/log.h:20,
                                     from /usr/local/src/mariadb/sql/sql_class.h:27,
                                     from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                     from /usr/local/src/mariadb/sql/sql_parse.h:20,
                                     from /usr/local/src/mariadb/sql/ha_partition.cc:51:
                    /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                         isfinite(_Tp __x)
                         ^
                    [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0ut.cc.o
                    [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/page/page0zip.cc.o
                    Scanning dependencies of target xtradb
                    [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/my_time.c.o
                    sql/CMakeFiles/partition.dir/build.make:62: recipe for target 'sql/CMakeFiles/partition.dir/ha_partition.cc.o' failed
                    make[2]: *** [sql/CMakeFiles/partition.dir/ha_partition.cc.o] Error 1
                    CMakeFiles/Makefile2:5345: recipe for target 'sql/CMakeFiles/partition.dir/all' failed
                    make[1]: *** [sql/CMakeFiles/partition.dir/all] Error 2
                    make[1]: *** Waiting for unfinished jobs....
                    [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o
                    ...
                    [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0load.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/dict/dict0crea.cc:46:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/dict/dict0load.cc:47:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0mem.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/dict/dict0mem.cc:37:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 32%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0stats.cc.o
                    ...
                    [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0blex.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:31:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:6277:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                      ret = sscanf(tmp_id, "%016"PRIu64, &dec_id);
                                           ^
                    [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0config.cc.o
                    [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0opt.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/fts/fts0config.cc:29:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0pars.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/fts/fts0opt.cc:31:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0que.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/fts/fts0que.cc:31:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0sql.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/fts/fts0sql.cc:31:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0tlex.cc.o
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/handler0alter.cc.o
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:111:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/handler0alter.cc:50:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/xtradb_i_s.cc.o
                    In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:70:
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                        return(sprintf(str, "%016"PRIu64, id)););
                                            ^
                    /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                       return(sprintf(str, "%016"PRIu64, id));
                                           ^
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/ibuf/ibuf0ibuf.cc.o
                    In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                     from /usr/local/src/mariadb/sql/sql_lex.h:26,
                                     from /usr/local/src/mariadb/sql/sql_class.h:495,
                                     from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
                    /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                    /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                         return isfinite(value) ? value : raise_float_overflow();
                                              ^
                    /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                    In file included from /usr/include/c++/5/random:38:0,
                                     from /usr/include/c++/5/bits/stl_algo.h:66,
                                     from /usr/include/c++/5/algorithm:62,
                                     from /usr/local/src/mariadb/sql/mdl.h:33,
                                     from /usr/local/src/mariadb/sql/handler.h:35,
                                     from /usr/local/src/mariadb/sql/log.h:20,
                                     from /usr/local/src/mariadb/sql/sql_class.h:27,
                                     from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
                    /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                         isfinite(_Tp __x)
                         ^
                    In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
                    /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                    /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                         return isfinite(value) ? value : raise_float_overflow();
                                              ^
                    /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                    In file included from /usr/include/c++/5/random:38:0,
                                     from /usr/include/c++/5/bits/stl_algo.h:66,
                                     from /usr/include/c++/5/algorithm:62,
                                     from /usr/local/src/mariadb/sql/mdl.h:33,
                                     from /usr/local/src/mariadb/sql/table.h:22,
                                     from /usr/local/src/mariadb/sql/field.h:29,
                                     from /usr/local/src/mariadb/sql/unireg.h:171,
                                     from /usr/local/src/mariadb/sql/item.h:26,
                                     from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
                    /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                         isfinite(_Tp __x)
                         ^
                    [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/lock/lock0iter.cc.o
                    storage/xtradb/CMakeFiles/xtradb.dir/build.make:1190: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o' failed
                    make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o] Error 1
                    make[2]: *** Waiting for unfinished jobs....
                    storage/xtradb/CMakeFiles/xtradb.dir/build.make:1238: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o' failed
                    make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o] Error 1
                    CMakeFiles/Makefile2:542: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/all' failed
                    make[1]: *** [storage/xtradb/CMakeFiles/xtradb.dir/all] Error 2
                    Makefile:149: recipe for target 'all' failed
                    make: *** [all] Error 2
            Per https://gcc.gnu.org/projects/cxx1y.html

            C++14 support ({{CXXFLAGS ="... -std=c\+\+14"}}) in GCC 5 is still experimental

            bq. Important: Because the final ISO C++14 standard was only recently published, GCC's support is experimental

            OTOH, per https://gcc.gnu.org/projects/cxx0x.html

            bq. Important: Before GCC 5.1 support for C\+\+11 was experimental. Some features were implemented based on early proposals, and no attempt was made to maintain backward compatibility when they were updated to match the final C++11 standard.

            and particularly, https://gcc.gnu.org/gcc-5/changes.html#libstdcxx

            bq. Full support for C++11, including the following new features: ...

            C++11 support ({{CXXFLAGS ="... -std=c\+\+11"}}) in GCC 5.1 is in RELEASE.

            With MDB 10.1 latest
            {noformat}
            git log | head
                commit 07b8aefe90ca830d2de068f2966cd2288b158a88
                Author: Sergei Petrunia <psergey@askmonty.org>
                Date: Wed Feb 3 00:15:49 2016 +0300

                    MDEV-9504: ANALYZE TABLE shows wrong 'rows' value for ORDER BY query
                    
                    Revert the patch for MDEV-9504.
                    It causes test failures, attempt to fix these causes more failures. The
                    source of all this is that the code in test_if_skip_sort_order() has
                    a peculiar way of treating select_limit parameter:
            {noformat}

            cmake & build with config
            {noformat}
                cmake .. \
                ...
                 -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"
            {noformat}
            results in no errors on config or build

            changing
            {noformat}
                cmake .. \
                ...
            - -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona"
            + -DCMAKE_CXX_FLAGS="-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fmessage-length=0 -fstack-protector -march=x86-64 -mtune=nocona -std=c++11"
            {noformat}
            results in NO error on config, but FAILs on subsequent build
            {noformat}
            make -j4 V=1
                Scanning dependencies of target abi_check
                Scanning dependencies of target INFO_BIN
                Scanning dependencies of target INFO_SRC
                Scanning dependencies of target strings
                Scanning dependencies of target readline
                [ 0%] Built target INFO_BIN
                ...
                [ 3%] Building C object extra/readline/CMakeFiles/readline.dir/complete.c.o
                [ 3%] Building C object strings/CMakeFiles/strings.dir/ctype-eucjpms.c.o
                In file included from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:0:
                /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:33:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
                 typedef std::auto_ptr<hstcpcli_i> hstcpcli_ptr;
                              ^
                In file included from /usr/include/c++/5/memory:81:0,
                                 from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.hpp:15,
                                 from /usr/local/src/mariadb/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:
                /usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
                   template<typename> class auto_ptr;
                                            ^
                [ 3%] Building C object strings/CMakeFiles/strings.dir/ctype-extra.c.o
                ...
                [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0crc32.cc.o
                In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                 from /usr/local/src/mariadb/sql/sql_lex.h:26,
                                 from /usr/local/src/mariadb/sql/sql_class.h:495,
                                 from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                 from /usr/local/src/mariadb/sql/sql_parse.h:20,
                                 from /usr/local/src/mariadb/sql/ha_partition.cc:51:
                /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                     return isfinite(value) ? value : raise_float_overflow();
                                          ^
                /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                In file included from /usr/include/c++/5/random:38:0,
                                 from /usr/include/c++/5/bits/stl_algo.h:66,
                                 from /usr/include/c++/5/algorithm:62,
                                 from /usr/local/src/mariadb/sql/mdl.h:33,
                                 from /usr/local/src/mariadb/sql/handler.h:35,
                                 from /usr/local/src/mariadb/sql/log.h:20,
                                 from /usr/local/src/mariadb/sql/sql_class.h:27,
                                 from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                 from /usr/local/src/mariadb/sql/sql_parse.h:20,
                                 from /usr/local/src/mariadb/sql/ha_partition.cc:51:
                /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                     isfinite(_Tp __x)
                     ^
                [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0ut.cc.o
                [ 28%] Building CXX object extra/CMakeFiles/innochecksum.dir/__/storage/innobase/page/page0zip.cc.o
                Scanning dependencies of target xtradb
                [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/my_time.c.o
                sql/CMakeFiles/partition.dir/build.make:62: recipe for target 'sql/CMakeFiles/partition.dir/ha_partition.cc.o' failed
                make[2]: *** [sql/CMakeFiles/partition.dir/ha_partition.cc.o] Error 1
                CMakeFiles/Makefile2:5345: recipe for target 'sql/CMakeFiles/partition.dir/all' failed
                make[1]: *** [sql/CMakeFiles/partition.dir/all] Error 2
                make[1]: *** Waiting for unfinished jobs....
                [ 28%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o
                ...
                [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0load.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/dict/dict0crea.cc:46:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/dict/dict0load.cc:47:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 31%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0mem.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/dict/dict0mem.cc:37:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 32%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/dict/dict0stats.cc.o
                ...
                [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0blex.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:31:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                /usr/local/src/mariadb/storage/xtradb/fts/fts0fts.cc:6277:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                  ret = sscanf(tmp_id, "%016"PRIu64, &dec_id);
                                       ^
                [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0config.cc.o
                [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0opt.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/fts/fts0config.cc:29:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0pars.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/fts/fts0opt.cc:31:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 33%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0que.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/fts/fts0que.cc:31:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0sql.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/fts/fts0sql.cc:31:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/fts/fts0tlex.cc.o
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/handler0alter.cc.o
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:111:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/handler0alter.cc:50:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/handler/xtradb_i_s.cc.o
                In file included from /usr/local/src/mariadb/storage/xtradb/include/fts0priv.h:650:0,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:70:
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:56:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                    return(sprintf(str, "%016"PRIu64, id)););
                                        ^
                /usr/local/src/mariadb/storage/xtradb/include/fts0priv.ic:69:23: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
                   return(sprintf(str, "%016"PRIu64, id));
                                       ^
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/ibuf/ibuf0ibuf.cc.o
                In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                 from /usr/local/src/mariadb/sql/sql_lex.h:26,
                                 from /usr/local/src/mariadb/sql/sql_class.h:495,
                                 from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
                /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                     return isfinite(value) ? value : raise_float_overflow();
                                          ^
                /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                In file included from /usr/include/c++/5/random:38:0,
                                 from /usr/include/c++/5/bits/stl_algo.h:66,
                                 from /usr/include/c++/5/algorithm:62,
                                 from /usr/local/src/mariadb/sql/mdl.h:33,
                                 from /usr/local/src/mariadb/sql/handler.h:35,
                                 from /usr/local/src/mariadb/sql/log.h:20,
                                 from /usr/local/src/mariadb/sql/sql_class.h:27,
                                 from /usr/local/src/mariadb/sql/sql_acl.h:21,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/ha_innodb.cc:42:
                /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                     isfinite(_Tp __x)
                     ^
                In file included from /usr/local/src/mariadb/sql/item.h:4500:0,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
                /usr/local/src/mariadb/sql/item_func.h: In member function ‘double Item_func::check_float_overflow(double)’:
                /usr/local/src/mariadb/sql/item_func.h:235:26: error: ‘isfinite’ was not declared in this scope
                     return isfinite(value) ? value : raise_float_overflow();
                                          ^
                /usr/local/src/mariadb/sql/item_func.h:235:26: note: suggested alternative:
                In file included from /usr/include/c++/5/random:38:0,
                                 from /usr/include/c++/5/bits/stl_algo.h:66,
                                 from /usr/include/c++/5/algorithm:62,
                                 from /usr/local/src/mariadb/sql/mdl.h:33,
                                 from /usr/local/src/mariadb/sql/table.h:22,
                                 from /usr/local/src/mariadb/sql/field.h:29,
                                 from /usr/local/src/mariadb/sql/unireg.h:171,
                                 from /usr/local/src/mariadb/sql/item.h:26,
                                 from /usr/local/src/mariadb/storage/xtradb/handler/i_s.cc:31:
                /usr/include/c++/5/cmath:601:5: note: ‘std::isfinite’
                     isfinite(_Tp __x)
                     ^
                [ 34%] Building CXX object storage/xtradb/CMakeFiles/xtradb.dir/lock/lock0iter.cc.o
                storage/xtradb/CMakeFiles/xtradb.dir/build.make:1190: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o' failed
                make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/ha_innodb.cc.o] Error 1
                make[2]: *** Waiting for unfinished jobs....
                storage/xtradb/CMakeFiles/xtradb.dir/build.make:1238: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o' failed
                make[2]: *** [storage/xtradb/CMakeFiles/xtradb.dir/handler/i_s.cc.o] Error 1
                CMakeFiles/Makefile2:542: recipe for target 'storage/xtradb/CMakeFiles/xtradb.dir/all' failed
                make[1]: *** [storage/xtradb/CMakeFiles/xtradb.dir/all] Error 2
                Makefile:149: recipe for target 'all' failed
                make: *** [all] Error 2
            {noformat}
            serg Sergei Golubchik made changes -
            elenst Elena Stepanova made changes -
            Assignee Sergei Golubchik [ serg ]

            I didn't try, but based on MDEV-9308 I assume 5.5 and 10.0 are also affected, so I'm setting 'Fix version' to all of them.

            elenst Elena Stepanova added a comment - I didn't try, but based on MDEV-9308 I assume 5.5 and 10.0 are also affected, so I'm setting 'Fix version' to all of them.
            elenst Elena Stepanova made changes -
            Fix Version/s 5.5 [ 15800 ]
            Fix Version/s 10.0 [ 16000 ]
            Fix Version/s 10.1 [ 16100 ]
            pgnd pgnd added a comment -

            fyi cref:

            Bug 59249 - Colliding isinf/isnan between C99 and C++11 with GCC >=4.6
            https://bugs.webkit.org/show_bug.cgi?id=59249

            Bug 320803 - isnan() and isinf() should be std::isnan() and std::isinf()
            https://bugs.kde.org/show_bug.cgi?id=320803

            pgnd pgnd added a comment - fyi cref: Bug 59249 - Colliding isinf/isnan between C99 and C++11 with GCC >=4.6 https://bugs.webkit.org/show_bug.cgi?id=59249 Bug 320803 - isnan() and isinf() should be std::isnan() and std::isinf() https://bugs.kde.org/show_bug.cgi?id=320803
            serg Sergei Golubchik made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.49 [ 21600 ]
            Fix Version/s 10.0.25 [ 21701 ]
            Fix Version/s 10.1.13 [ 21803 ]
            Fix Version/s 5.5 [ 15800 ]
            Fix Version/s 10.0 [ 16000 ]
            Fix Version/s 10.1 [ 16100 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            danblack Daniel Black added a comment -

            https://github.com/OpenLightingProject/ola/issues/1028#issuecomment-188922290

            Seems like April 2017, the end of precise support, is the time to move from auto_ptr to uniq_ptr according to the above analysis

            danblack Daniel Black added a comment - https://github.com/OpenLightingProject/ola/issues/1028#issuecomment-188922290 Seems like April 2017, the end of precise support, is the time to move from auto_ptr to uniq_ptr according to the above analysis
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 73884 ] MariaDB v4 [ 150084 ]

            People

              serg Sergei Golubchik
              pgnd pgnd
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.