dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #19078
Re: [Dorsal] dorsal on leopard
On 8/11/10 12:47 AM, Garth N. Wells wrote:
> On Tue, 2010-08-03 at 13:59 -0400, Paul Barbone wrote:
>> Harish Narayanan wrote:
>>> On 8/3/10 10:22 PM, Garth N. Wells wrote:
>>>
>>>> On Tue, 2010-08-03 at 12:26 -0400, Paul Barbone wrote:
>>>>
>>>>> Hello all,
>>>>>
>>>>> I'm excited to give this a try.
>>>>>
>>>>> In the meantime, I've been (trying) to install dorsal on leopard
>>>>> (10.5.8). The snowleopard.package seems to almost work with the
>>>>> following modifications:
>>>>>
>>>>> default PETSC_ARCH=darwin9.2.0-cxx-opt
>>>>> default GMP_ARCH=none-apple-darwin
>>>>>
>>>>>
>>>>> I also had to comment out the scotch package (per Garth Wells' advice).
>>>>>
>>>>>
>>>>> I'm now stuck at compiling DofMapBuilder.cpp, which ends with the
>>>>> message (among many):
>>>>>
>>>>> /usr/include/c++/4.0.0/tr1/hashtable:1363: warning: control reaches end
>>>>> of non-void function
>>>>> scons: *** [dolfin/fem/DofMapBuilder.os] Error 1
>>>>> scons: building terminated because of errors.
>>>>> dolfin/fem/DofMapBuilder.os failed: Error 1
>>>>>
>>>> We use a new feature of C++ which is broken in older compilers (e.g. gcc
>>>> 4.0.0).
>>>>
>>>> Harish: macports has loads of gcc (and openmpi) versions. Can Dorsal
>>>> tell user to get gcc from macports and then use that?
>>>
>>> Yes, and it has probably already got it. I have something called
>>> gcc-mp-4.4 (-mp being macports) on my machine which I didn't explicitly
>>> install. Setting
>>>
>>> export CC=gcc-mp-4.4
>>> export CXX=g++-mp-4.4
>>>
>>> in leopard.platform ought to work.
>>>
>>> Harish
>>
>> You're right - those compilers were already there in /opt/local/bin. I
>> gave that a try, but it didn't fix the problem.
>>
>>
>> I realized that earlier I showed the last warning message rather than
>> the error message.
>
> Depending on the compiler options that DOLFIN uses, it may turn warnings
> into errors.
>
>> The error message is:
>>
>>
>> /usr/include/c++/4.0.0/tr1/hashtable:1135: error: passing 'const
>> std::tr1::hashtable<dolfin::uint, dolfin::uint,
>> std::allocator<dolfin::uint>, Internal::identity<dolfin::uint>,
>> std::equal_to<dolfin::uint>, 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 = dolfin::uint,
>> Value = dolfin::uint, Allocator = std::allocator<dolfin::uint>,
>> ExtractKey = Internal::identity<dolfin::uint>, Equal =
>> std::equal_to<dolfin::uint>, 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
>>
>>
>
> I've just changed tr1::unordered_set to boost::unordered_set in DOLFIN,
> so hopefully this will fix the problem. Pull the latest version of
> DOLFIN and try again.
>
> Garth
>
>
>> After another warning, it finally ends with:
>> 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-0.9.8.
Paul, could you publish whatever changes you needed to make to
leopard.platform in order to get it to work? I will merge your changes
into the official repository.
Harish
References