[Libcds-user] build of libcds-1.4.0 tests failed under Linux Mint 15 (Ubuntu 13.04) with g++ 4.7.3
Concurrent Data Structure library
Brought to you by:
khizmax
|
From: Алексей Е. <ave...@co...> - 2013-10-04 07:07:44
|
I have tried to build the library/tests: “build.sh -p amd64 -o linux -b
64”. Libraries .so were built successfully, but tests weren’t
g++ -std=c++0x -c -DNDEBUG -O3 -fno-strict-aliasing -m64 -fPIC
-march=native -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
-D_FILE_OFFSET_BITS=64 -I.. -I../tests/test-hdr -I../tests
../tests/test-hdr/map/hdr_refinable_hashmap_map.cpp -o
../tests/test-hdr/map/hdr_refinable_hashmap_map.o
In file included from
../tests/test-hdr/map/hdr_refinable_hashmap_map.cpp:13:0:
../cds/container/striped_map/std_map.h: In instantiation of ‘bool
cds::intrusive::striped_set::adapt<std::map<_Key, _Tp, _Compare, _Alloc>,
Options ...>::adapted_container::emplace(Q&&, Args&& ...) [with Q = int;
Args = {}; Key = int; T = map::StripedMapHdrTest::value_type; Traits =
map::StripedMapHdrTest::less; Alloc = std::allocator<std::pair<const int,
map::StripedMapHdrTest::value_type> >; Options =
{cds::opt::type_traits<cds::container::details::make_striped_map<std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>,
cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<map::StripedMapHdrTest::hash_int>,
cds::opt::less<map::StripedMapHdrTest::less>,
cds::opt::resizing_policy<cds::intrusive::striped_set::load_factor_resizing<0ul>
> >::options>}]’:
../cds/container/striped_map.h:728:17: required from ‘bool
cds::container::StripedMap<Container, Options>::emplace(K&&, Args&& ...)
[with K = int; Args = {}; Container = std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>; Options
=
{cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<map::StripedMapHdrTest::hash_int>,
cds::opt::less<map::StripedMapHdrTest::less>,
cds::opt::resizing_policy<cds::intrusive::striped_set::load_factor_resizing<0ul>
>}]’
../tests/test-hdr/map/hdr_striped_map.h:287:13: required from ‘void
map::StripedMapHdrTest::test_int_with(Map&) [with Map =
cds::container::StripedMap<std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>,
cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<map::StripedMapHdrTest::hash_int>,
cds::opt::less<map::StripedMapHdrTest::less>,
cds::opt::resizing_policy<cds::intrusive::striped_set::load_factor_resizing<0ul>
> >]’
../tests/test-hdr/map/hdr_striped_map.h:359:13: required from ‘void
map::StripedMapHdrTest::test_striped_with(Map&) [with Map =
cds::container::StripedMap<std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>,
cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<map::StripedMapHdrTest::hash_int>,
cds::opt::less<map::StripedMapHdrTest::less>,
cds::opt::resizing_policy<cds::intrusive::striped_set::load_factor_resizing<0ul>
> >]’
../tests/test-hdr/map/hdr_refinable_hashmap_map.cpp:78:32: required from
here
../cds/container/striped_map/std_map.h:134:138: error:
‘cds::intrusive::striped_set::adapt<std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>,
cds::opt::type_traits<cds::container::details::make_striped_map<std::map<int,
map::StripedMapHdrTest::value_type, map::StripedMapHdrTest::less>,
cds::opt::mutex_policy<cds::intrusive::striped_set::refinable<std::recursive_mutex,
cds::backoff::yield, std::allocator<int> > >,
cds::opt::hash<map::StripedMapHdrTest::hash_int>,
cds::opt::less<map::StripedMapHdrTest::less>,
cds::opt::resizing_policy<cds::intrusive::striped_set::load_factor_resizing<0ul>
> >::options> >::container_type’ has no member named ‘emplace’
. . .
This is so since the #if condition failed: __GLIBCXX__ < 20130322. My
default g++ has __GLIBCXX__ set to 20130411. When I changed the constant to
20130412, compilation become successful.
|