[MDEV-14753] error: static_assert failed "Allocator::value_type must be same type as value_type" Created: 2017-12-23  Updated: 2018-01-24  Resolved: 2018-01-24

Status: Closed
Project: MariaDB Server
Component/s: Compiling
Affects Version/s: 10.3.3
Fix Version/s: 10.3.5

Type: Bug Priority: Major
Reporter: Dan Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None
Environment:

Xcode 9.2, macOS 10.12.6



 Description   

Hi, the following error is reported when building with clang on macOS.

[ 43%] Building C object storage/myisam/CMakeFiles/myisam.dir/ft_boolean_search.c.o
cd /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/myisam && /usr/local/Homebrew/Library/Homebrew/shims/super/clang -DHAVE_CONFIG_H -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/include -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/sql -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/pcre -I/usr/local/opt/openssl/include  -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -DWITH_INNODB_DISALLOW_WRITES -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF    -fvisibility=hidden -o CMakeFiles/myisam.dir/ft_boolean_search.c.o   -c /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/myisam/ft_boolean_search.c
In file included from /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/btr/btr0btr.cc:28:
In file included from /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/include/btr0btr.h:31:
In file included from /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/include/univ.i:597:
In file included from /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/include/sync0types.h:34:
In file included from /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/include/ut0new.h:125:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/map:820:5: error: static_assert failed "Allocator::value_type must be same type as value_type"
    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config:729:36: note: expanded from macro 'static_assert'
#   define static_assert(__b, __m) _Static_assert(__b, __m)
                                   ^              ~~~
/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/innobase/include/trx0trx.h:1255:19: note: in instantiation of template class 'std::__1::map<dict_table_t *, unsigned long long, std::__1::less<dict_table_t *>, ut_allocator<std::__1::pair<dict_table_t *, unsigned long long>, true> >' requested here
        trx_mod_tables_t mod_tables;    /*!< List of tables that were modified
                         ^
[ 43%] Linking CXX executable innochecksum
cd /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/extra && /usr/local/Cellar/cmake/3.10.1/bin/cmake -E cmake_link_script CMakeFiles/innochecksum.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/innochecksum.dir/innochecksum.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/buf/buf0checksum.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0crc32.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/ut/ut0ut.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/buf/buf0buf.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/page/page0zip.cc.o CMakeFiles/innochecksum.dir/__/storage/innobase/fil/fil0crypt.cc.o  -o innochecksum ../mysys/libmysys.a ../mysys_ssl/libmysys_ssl.a ../dbug/libdbug.a ../mysys/libmysys.a ../mysys_ssl/libmysys_ssl.a ../dbug/libdbug.a /usr/lib/libz.dylib ../strings/libstrings.a /usr/local/opt/openssl/lib/libssl.dylib /usr/local/opt/openssl/lib/libcrypto.dylib 
[ 43%] Building C object storage/myisam/CMakeFiles/myisam.dir/ft_nlq_search.c.o
cd /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/myisam && /usr/local/Homebrew/Library/Homebrew/shims/super/clang -DHAVE_CONFIG_H -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/include -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/sql -I/tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/pcre -I/usr/local/opt/openssl/include  -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -DWITH_INNODB_DISALLOW_WRITES -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF    -fvisibility=hidden -o CMakeFiles/myisam.dir/ft_nlq_search.c.o   -c /tmp/mariadb-20171223-24832-1ebkzm6/mariadb-10.3.3/storage/myisam/ft_nlq_search.c
1 error generated.
make[2]: *** [storage/innobase/CMakeFiles/innobase.dir/btr/btr0btr.cc.o] Error 1
make[1]: *** [storage/innobase/CMakeFiles/innobase.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....



 Comments   
Comment by Dan [ 2017-12-24 ]

This PR (https://github.com/MariaDB/server/pull/524) is fixing the build error.

Comment by Bernard Spil [ 2018-01-19 ]

Confirm the error exists

MariaDB 10.3.4
FreeBSD 11.1
clang 4.0.0
cmake 3.10.4

Confirm the pull request fixes the build error.

Generated at Thu Feb 08 08:16:01 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.