octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [FORGE] Fem-fenics installation fails


From: Juan Pablo Carbajal
Subject: Re: [FORGE] Fem-fenics installation fails
Date: Mon, 17 Feb 2014 23:42:56 +0100

On Mon, Feb 17, 2014 at 9:58 PM, c. <address@hidden> wrote:
>
> On 17 Feb 2014, at 21:27, Juan Pablo Carbajal <address@hidden> wrote:
>>
>>
>> So, I went to the sources of msh and the check in configure.ac is
>> AC_CHECK_HEADER([dolfin.h],
>>  [AC_SUBST(ac_dolfin_cpp_flags,-DHAVE_DOLFIN_H)
>> AC_SUBST(ac_dolfin_ld_flags,-ldolfin)],
>>  [AC_MSG_WARN([dolfin headers could not be found, som functionalities
>> will be disabled, don't worry your package will still be working,
>> though.])]
>> )
>>
>> and this doesn't work in my system, though the files are there. I
>> wrote a trivial example (that should be added to the ac_check, right?)
>> echo "#include<dolfin.h>" > test.cpp
>> g++ -c test.cpp -I/usr/include
>> Here it finds dolfin.h but it cannot find Eigen/Dense. Looking in my
>> system I found it and added
>> g++ -c test.cpp -I/usr/include  -I/usr/include/eigen3
>> and the program compiles (although I am not sure Eigen/Dense is the
>> right one). Clearly I need to indicate these locations in the
>> configure of the msh and most problably fem-fenics as well.
>>
>> How can we fix this?
>> @Rik, maybe you know a trick for the configure.ac?
>
> Juan Pablo,
>
> There are two different problems:
>
> 1) The test for dolfin.h fails because dolfin.h includes Eigen/Dense and 
> mpi.h which are
>    not in the default includes path
>
> This is easily solved by doing:
>
> export CPPFLAGS="-I/usr/include/eigen3 $(mpicxx -showme:compile)"
>
> 2) The dolfin API has changed from release 1.2 to the current release,
>    so the way markers for subdomains and boundary cells are assigned in msh 
> and fem-fenics
>    is not compatible with the current release
>
> This was already discussed here:
> http://fenicsproject.org/qa/218/assign-meshfunction-meshvaluecollection-to-meshdomain
>
> Marco, maybe you can provide a patch for this?
>
> If not, I can probably try myself but it will take a while because I'll be 
> quite buisy the next two weeks.
>
> c.
>

So the situation is that we can't use msh nor fem-fenics with fenics 1.3?

I exported as you suggested and indeed msh doesn't complain about
dolfin missing, but I get all these template errors, I guess this is
the API you were mentioning.

In file included from /usr/include/dolfin/log/LogStream.h:26:0,
                 from /usr/include/dolfin/log/dolfin_log.h:8,
                 from /usr/include/dolfin/common/Hierarchical.h:26,
                 from /usr/include/dolfin/common/dolfin_common.h:16,
                 from /usr/include/dolfin.h:6,
                 from mshm_dolfin_write.cc:21:
/usr/include/c++/4.8/complex:384:5: note: template<class _Tp>
std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const
std::complex<_Tp>&)
     operator*(const complex<_Tp>& __x, const complex<_Tp>& __y)
     ^
/usr/include/c++/4.8/complex:384:5: note:   template argument
deduction/substitution failed:
mshm_dolfin_write.cc:309:44: note:   'std::map<long unsigned int, long
unsigned int>' is not derived from 'const std::complex<_Tp>'
               *(mesh.domains ().markers (D)) = cell;
                                            ^
g++: error: mshm_dolfin_write.o: No such file or directory

Looking forward for a patch. I am at your disposal for testing and if
possible contributing.

Cheers


reply via email to

[Prev in Thread] Current Thread [Next in Thread]