← Back to team overview

dolfin team mailing list archive

Re: compile problem

 


Riesen Patrick wrote:
> hello,
> 
> i'm trying to compile dolfin dev on my mac at home. i get a compile error as 
> 
> 
> /usr/include/c++/4.0.0/tr1/hashtable: In member function ‘typename std::tr1::hashtable<Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, mutable_iterators, unique_keys>::const_iterator std::tr1::hashtable<Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, mutable_iterators, unique_keys>::find(const Key&) const [with Key = unsigned int, Value = unsigned int, Allocator = std::allocator<unsigned int>, ExtractKey = Internal::identity<unsigned int>, Equal = std::equal_to<unsigned int>, H1 = std::tr1::hash<unsigned int>, H2 = Internal::mod_range_hashing, H = Internal::default_ranged_hash, RehashPolicy = Internal::prime_rehash_policy, bool cache_hash_code = false, bool mutable_iterators = false, bool unique_keys = true]’:
> dolfin/fem/DofMapBuilder.cpp:178:   instantiated from here
> /usr/include/c++/4.0.0/tr1/hashtable:1135: error: passing ‘const std::tr1::hashtable<unsigned int, unsigned int, std::allocator<unsigned int>, Internal::identity<unsigned int>, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, Internal::mod_range_hashing, Internal::default_ranged_hash, Internal::prime_rehash_policy, false, false, true>’ as ‘this’ argument of ‘typename std::tr1::hashtable<Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, mutable_iterators, unique_keys>::node* std::tr1::hashtable<Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, mutable_iterators, unique_keys>::find_node(Internal::hash_node<Value, cache_hash_code>*, const Key&, typename std::tr1::hashtable<Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, mutable_iterators, unique_keys>::hash_code_t) [with Key = unsigned int, Value = unsigned int, Allocator = std::allocator<unsigned int>, E
xtractKey = Internal::identity<unsigned int>, Equal = std::equal_to<unsigned int>, H1 = std::tr1::hash<unsigned int>, H2 = Internal::mod_range_hashing, H = Internal::default_ranged_hash, RehashPolicy = Internal::prime_rehash_policy, bool cache_hash_code = false, bool mutable_iterators = false, bool unique_keys = true]’ discards qualifiers
> scons: *** [dolfin/fem/DofMapBuilder.os] Error 1
> scons: building terminated because of errors.
> dolfin/fem/DofMapBuilder.os failed: Error 1
> Failure with exit status: 2
> Exit message: There was a problem building dolfin.
> 
> 
> is this a compiler problem? i was using gnu compilers 4.4.1 on mac 10.5.8
> does somebody have a hint on how to handle this? 
>

Are you sure that you're using gcc 4.4.1? From the start of your error
message

    /usr/include/c++/4.0.0/tr1/hashtable

it look like you're using 4.0.

When we drop support for Ubuntu Hardy, we will probably use the Boost
unordered containers in place of tr1.

Garth


> many thanks for the help,
> 
> Patrick Riesen
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp



References