Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.11
-
None
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
- relates to
-
MDEV-9308 Fix build errors with recent gcc (isfinite)
- Closed