← Back to team overview

dolfin team mailing list archive

Re: [Dorsal] dorsal on leopard

 

On Tue, 2010-08-10 at 20:17 +0100, 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.
> > 

>From the below error, gcc 4.0 is still being used. This is probably
because the MPI wrappers (mpicxx, mpicc) are being used, and these
probably point to gcc 4.0.

Harish: this issue seems to have been around for a while. Is there a
robust fix?

Garth

> > 
> > 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
> > 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp





References