← Back to team overview

dolfin team mailing list archive

Re: compile problem

 

On 2/28/10 7:18 PM, 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>, 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]’ 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? 

It would be clearer if you pasted more of your error.

If you are using mpic++ (even with a recent g++ installed), it is likely
pointing to your default mac compilers (gcc 4.0.x). I ran into this a
short while ago before I moved to Mac OS X 10.6.x.

You can look at a tiny patch I made for this if you want to fix it locally:
http://bazaar.launchpad.net/~dolfin-core/dolfin/main/revision/4495.1.1

Harish



References