UFCCell.h: error: ‘orientation’ was not declared in this scope

Asked by Nico Schlömer

Not sure what I'm doing wrong here:
Cloned clean Dolfin sources, tried to compile, get a bunch of error messages along the lines of

================ *snip* ================
[...]
[ 17%] Building CXX object dolfin/CMakeFiles/dolfin.dir/adaptivity/adapt.cpp.o
In file included from /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/FiniteElement.h:27:0,
                 from /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/adaptivity/adapt.cpp:24:
/home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h: In member function ‘void dolfin::UFCCell::init(const dolfin::Cell&)’:
/home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:97:7: error: ‘orientation’ was not declared in this scope
/home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:106:66: error: cannot convert ‘std::size_t** {aka long unsigned int**}’ to ‘unsigned int**’ in assignment
[...]
================ *snap* ================

Those all seem justified to me, since no one else seems to bump into the issue, I guess there's something going wrong on my side.

Any hints what that could be?

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Nico Schlömer
Solved:
Last query:
Last reply:
Revision history for this message
Johan Hake (johan-hake) said :
#1

Looks like you need to update your ufc installation.

Johan

On 02/27/2013 11:26 PM, Nico Schlömer wrote:
> New question #223009 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/223009
>
> Not sure what I'm doing wrong here:
> Cloned clean Dolfin sources, tried to compile, get a bunch of error messages along the lines of
>
> ================ *snip* ================
> [...]
> [ 17%] Building CXX object dolfin/CMakeFiles/dolfin.dir/adaptivity/adapt.cpp.o
> In file included from /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/FiniteElement.h:27:0,
> from /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/adaptivity/adapt.cpp:24:
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h: In member function ‘void dolfin::UFCCell::init(const dolfin::Cell&)’:
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:97:7: error: ‘orientation’ was not declared in this scope
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:106:66: error: cannot convert ‘std::size_t** {aka long unsigned int**}’ to ‘unsigned int**’ in assignment
> [...]
> ================ *snap* ================
>
> Those all seem justified to me, since no one else seems to bump into the issue, I guess there's something going wrong on my side.
>
> Any hints what that could be?
>

Revision history for this message
Martin Sandve Alnæs (martinal) said :
#2

You need to update ufc as well, possibly ffc too. It is always a good idea
to get simultaneous versions of ufc/ufl/ffc/instant/dolfin.

Martin

On 27 February 2013 23:26, Nico Schlömer <
<email address hidden>> wrote:

> New question #223009 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/223009
>
> Not sure what I'm doing wrong here:
> Cloned clean Dolfin sources, tried to compile, get a bunch of error
> messages along the lines of
>
> ================ *snip* ================
> [...]
> [ 17%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/adaptivity/adapt.cpp.o
> In file included from
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/FiniteElement.h:27:0,
> from
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/adaptivity/adapt.cpp:24:
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:
> In member function ‘void dolfin::UFCCell::init(const dolfin::Cell&)’:
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:97:7:
> error: ‘orientation’ was not declared in this scope
> /home/nschloe/software/fenics/dolfin/dev/source-exodus/dolfin/fem/UFCCell.h:106:66:
> error: cannot convert ‘std::size_t** {aka long unsigned int**}’ to
> ‘unsigned int**’ in assignment
> [...]
> ================ *snap* ================
>
> Those all seem justified to me, since no one else seems to bump into the
> issue, I guess there's something going wrong on my side.
>
> Any hints what that could be?
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.
>

Revision history for this message
Nico Schlömer (nschloe) said :
#3

I did that using Dorsal, and sourced

~/Work/FEniCS/share/fenics/fenics.conf

as recommended. The exports there didn't (as I noticed now) add anything to the system include folder which is how adapt.cpp missed on the more up-to-date ufc.h which caused the error.

Adding

export CPLUS_INCLUDE_PATH=$CMAKE_PREFIX_PATH/include:$CPLUS_INCLUDE_PATH

to fenics.conf fixed it.
I guess that'd be a line worthwhile adding by default.