I've been trying for about a week to install fenics from source to be able to run c++ examples and now I can't even run python files I was able to run before.
My first question which I'm not 100% sure about is the following: is it possible to run c++ files using fenics binaries and the right c++ libraries (ex PETSc) installed separately?
After following the procedure in the text document, I was able to compile dolfin from source without any errors.
However ufl and ffc where not being recognized so I had to type:
sudo apt-get install python-ufl
sudo apt-get install python-ffc
But when I try running python or c++ files I get errors. Are theses errors related? Did I do anything wrong in the installation?
Then when I try running a python file I get:
Traceback (most recent call last):
File "fmodel.py", line 11, in <module>
from dolfin import *
File "/usr/local/lib/python3/dist-packages/dolfin/__init__.py", line 17, in <module>
from . import cpp
File "/usr/local/lib/python3/dist-packages/dolfin/cpp/__init__.py", line 43, in <module>
exec("from . import %s" % module_name)
File "<string>", line 1, in <module>
File "/usr/local/lib/python3/dist-packages/dolfin/cpp/common.py", line 115
def _attach_base_to_numpy_array(obj: 'PyObject *', owner: 'PyObject *') -> "PyObject *":
^
SyntaxError: invalid syntax
And when I try compiling a cpp file (when doing cmake . and make) for the example here:
https://fenicsproject.org/olddocs/dolfin/1.4.0/cpp/demo/index.htmlI get:
-- Configuring done
CMake Warning (dev) at CMakeLists.txt:37 (add_executable):
Policy CMP0028 is not set: Double colon in target name means ALIAS or
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
Target "demo_poisson" links to target "Boost::boost" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:37 (add_executable):
Policy CMP0028 is not set: Double colon in target name means ALIAS or
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
Target "demo_poisson" links to target "Boost::timer" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /home/alex/fenicsfiles/3dprinting/cpp
And then I get:
Scanning dependencies of target demo_poisson
[ 50%] Building CXX object CMakeFiles/demo_poisson.dir/main.cpp.o
In file included from /usr/local/include/dolfin/function/FunctionSpace.h:37:0,
from /usr/local/include/dolfin/function/dolfin_function.h:10,
from /usr/local/include/dolfin.h:26,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/usr/local/include/dolfin/fem/FiniteElement.h: In member function ‘void dolfin::FiniteElement::interpolate_vertex_values(double*, double*, const double*, int) const’:
/usr/local/include/dolfin/fem/FiniteElement.h:189:63: error: no matching function for call to ‘ufc::finite_element::interpolate_vertex_values(double*&, double*&, const double*&, int&) const’
cell_orientation);
^
In file included from /usr/local/include/dolfin/ale/MeshDisplacement.h:26:0,
from /usr/local/include/dolfin/mesh/Mesh.h:35,
from /usr/local/include/dolfin/mesh/dolfin_mesh.h:11,
from /usr/local/include/dolfin.h:15,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:183:18: note: candidate: virtual void ufc::finite_element::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::cell&) const
virtual void interpolate_vertex_values(double * vertex_values,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:183:18: note: candidate expects 5 arguments, 4 provided
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: At global scope:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:118:8: error: ‘void poisson_finite_element_0::evaluate_reference_basis(double*, std::size_t, const double*) const’ marked ‘final’, but is not virtual
void evaluate_reference_basis(double * reference_values,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:118:8: error: ‘void poisson_finite_element_0::evaluate_reference_basis(double*, std::size_t, const double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:150:8: error: ‘void poisson_finite_element_0::evaluate_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*) const’ marked ‘final’, but is not virtual
void evaluate_reference_basis_derivatives(double * reference_values,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:150:8: error: ‘void poisson_finite_element_0::evaluate_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*) const’ marked ‘override’, but does not override
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:307:8: error: ‘void poisson_finite_element_0::transform_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*, const double*, const double*, const double*, const double*, int) const’ marked ‘final’, but is not virtual
void transform_reference_basis_derivatives(double * values,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:307:8: error: ‘void poisson_finite_element_0::transform_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*, const double*, const double*, const double*, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:352:8: error: ‘void poisson_finite_element_0::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis(std::size_t i,
^~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:352:8: error: ‘void poisson_finite_element_0::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:391:8: error: ‘void poisson_finite_element_0::evaluate_basis_all(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_all(double * values,
^~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:391:8: error: ‘void poisson_finite_element_0::evaluate_basis_all(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:408:8: error: ‘void poisson_finite_element_0::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_derivatives(std::size_t i,
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:408:8: error: ‘void poisson_finite_element_0::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:680:8: error: ‘void poisson_finite_element_0::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_derivatives_all(std::size_t n,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:680:8: error: ‘void poisson_finite_element_0::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:711:10: error: ‘double poisson_finite_element_0::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
double evaluate_dof(std::size_t i,
^~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:711:10: error: ‘double poisson_finite_element_0::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:753:8: error: ‘void poisson_finite_element_0::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_dofs(double * values,
^~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:753:8: error: ‘void poisson_finite_element_0::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:779:8: error: ‘void poisson_finite_element_0::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void interpolate_vertex_values(double * vertex_values,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:779:8: error: ‘void poisson_finite_element_0::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:792:8: error: ‘void poisson_finite_element_0::tabulate_dof_coordinates(double*, const double*, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void tabulate_dof_coordinates(double * dof_coordinates,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:792:8: error: ‘void poisson_finite_element_0::tabulate_dof_coordinates(double*, const double*, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:805:8: error: ‘void poisson_finite_element_0::tabulate_reference_dof_coordinates(double*) const’ marked ‘final’, but is not virtual
void tabulate_reference_dof_coordinates(double * reference_dof_coordinates) const final override
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:805:8: error: ‘void poisson_finite_element_0::tabulate_reference_dof_coordinates(double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘void poisson_finite_element_0::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:366:13: error: ‘const class ufc::coordinate_mapping’ has no member named ‘compute_reference_geometry’; did you mean ‘compute_reference_coordinates’?
cm->compute_reference_geometry(X, J, &detJ, K, 1, x, coordinate_dofs, cell_orientation);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_finite_element_0::create() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:823:41: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:39:7: note: because the following virtual functions are pure within ‘poisson_finite_element_0’:
class poisson_finite_element_0: public ufc::finite_element
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/dolfin/ale/MeshDisplacement.h:26:0,
from /usr/local/include/dolfin/mesh/Mesh.h:35,
from /usr/local/include/dolfin/mesh/dolfin_mesh.h:11,
from /usr/local/include/dolfin.h:15,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:139:18: note: virtual void ufc::finite_element::evaluate_basis(std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis(std::size_t i,
^~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:146:18: note: virtual void ufc::finite_element::evaluate_basis_all(double*, const double*, const double*, int) const
virtual void evaluate_basis_all(double * values,
^~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:152:18: note: virtual void ufc::finite_element::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis_derivatives(std::size_t i,
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:160:18: note: virtual void ufc::finite_element::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis_derivatives_all(std::size_t n,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:169:20: note: virtual double ufc::finite_element::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&) const
virtual double evaluate_dof(std::size_t i,
^~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:176:18: note: virtual void ufc::finite_element::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&) const
virtual void evaluate_dofs(double * values,
^~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:183:18: note: virtual void ufc::finite_element::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::cell&) const
virtual void interpolate_vertex_values(double * vertex_values,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:190:18: note: virtual void ufc::finite_element::tabulate_dof_coordinates(double*, const double*) const
virtual void tabulate_dof_coordinates(double * dof_coordinates,
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: At global scope:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:914:8: error: ‘void poisson_finite_element_1::evaluate_reference_basis(double*, std::size_t, const double*) const’ marked ‘final’, but is not virtual
void evaluate_reference_basis(double * reference_values,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:914:8: error: ‘void poisson_finite_element_1::evaluate_reference_basis(double*, std::size_t, const double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:952:8: error: ‘void poisson_finite_element_1::evaluate_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*) const’ marked ‘final’, but is not virtual
void evaluate_reference_basis_derivatives(double * reference_values,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:952:8: error: ‘void poisson_finite_element_1::evaluate_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1208:8: error: ‘void poisson_finite_element_1::transform_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*, const double*, const double*, const double*, const double*, int) const’ marked ‘final’, but is not virtual
void transform_reference_basis_derivatives(double * values,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1208:8: error: ‘void poisson_finite_element_1::transform_reference_basis_derivatives(double*, std::size_t, std::size_t, const double*, const double*, const double*, const double*, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1253:8: error: ‘void poisson_finite_element_1::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis(std::size_t i,
^~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1253:8: error: ‘void poisson_finite_element_1::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1292:8: error: ‘void poisson_finite_element_1::evaluate_basis_all(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_all(double * values,
^~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1292:8: error: ‘void poisson_finite_element_1::evaluate_basis_all(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1310:8: error: ‘void poisson_finite_element_1::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_derivatives(std::size_t i,
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1310:8: error: ‘void poisson_finite_element_1::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1804:8: error: ‘void poisson_finite_element_1::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_basis_derivatives_all(std::size_t n,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1804:8: error: ‘void poisson_finite_element_1::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1835:10: error: ‘double poisson_finite_element_1::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
double evaluate_dof(std::size_t i,
^~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1835:10: error: ‘double poisson_finite_element_1::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1901:8: error: ‘void poisson_finite_element_1::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void evaluate_dofs(double * values,
^~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1901:8: error: ‘void poisson_finite_element_1::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1939:8: error: ‘void poisson_finite_element_1::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void interpolate_vertex_values(double * vertex_values,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1939:8: error: ‘void poisson_finite_element_1::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1956:8: error: ‘void poisson_finite_element_1::tabulate_dof_coordinates(double*, const double*, const ufc::coordinate_mapping*) const’ marked ‘final’, but is not virtual
void tabulate_dof_coordinates(double * dof_coordinates,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1956:8: error: ‘void poisson_finite_element_1::tabulate_dof_coordinates(double*, const double*, const ufc::coordinate_mapping*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1975:8: error: ‘void poisson_finite_element_1::tabulate_reference_dof_coordinates(double*) const’ marked ‘final’, but is not virtual
void tabulate_reference_dof_coordinates(double * reference_dof_coordinates) const final override
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1975:8: error: ‘void poisson_finite_element_1::tabulate_reference_dof_coordinates(double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘void poisson_finite_element_1::evaluate_basis(std::size_t, double*, const double*, const double*, int, const ufc::coordinate_mapping*) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1267:13: error: ‘const class ufc::coordinate_mapping’ has no member named ‘compute_reference_geometry’; did you mean ‘compute_reference_coordinates’?
cm->compute_reference_geometry(X, J, &detJ, K, 1, x, coordinate_dofs, cell_orientation);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_finite_element_1::create_sub_element(std::size_t) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1991:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:1993:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_finite_element_1::create() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2001:41: error: invalid new-expression of abstract class type ‘poisson_finite_element_1’
return new poisson_finite_element_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:829:7: note: because the following virtual functions are pure within ‘poisson_finite_element_1’:
class poisson_finite_element_1: public ufc::finite_element
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/dolfin/ale/MeshDisplacement.h:26:0,
from /usr/local/include/dolfin/mesh/Mesh.h:35,
from /usr/local/include/dolfin/mesh/dolfin_mesh.h:11,
from /usr/local/include/dolfin.h:15,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:139:18: note: virtual void ufc::finite_element::evaluate_basis(std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis(std::size_t i,
^~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:146:18: note: virtual void ufc::finite_element::evaluate_basis_all(double*, const double*, const double*, int) const
virtual void evaluate_basis_all(double * values,
^~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:152:18: note: virtual void ufc::finite_element::evaluate_basis_derivatives(std::size_t, std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis_derivatives(std::size_t i,
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:160:18: note: virtual void ufc::finite_element::evaluate_basis_derivatives_all(std::size_t, double*, const double*, const double*, int) const
virtual void evaluate_basis_derivatives_all(std::size_t n,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:169:20: note: virtual double ufc::finite_element::evaluate_dof(std::size_t, const ufc::function&, const double*, int, const ufc::cell&) const
virtual double evaluate_dof(std::size_t i,
^~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:176:18: note: virtual void ufc::finite_element::evaluate_dofs(double*, const ufc::function&, const double*, int, const ufc::cell&) const
virtual void evaluate_dofs(double * values,
^~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:183:18: note: virtual void ufc::finite_element::interpolate_vertex_values(double*, const double*, const double*, int, const ufc::cell&) const
virtual void interpolate_vertex_values(double * vertex_values,
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:190:18: note: virtual void ufc::finite_element::tabulate_dof_coordinates(double*, const double*) const
virtual void tabulate_dof_coordinates(double * dof_coordinates,
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: At global scope:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2045:15: error: ‘std::size_t poisson_dofmap_0::num_global_support_dofs() const’ marked ‘final’, but is not virtual
std::size_t num_global_support_dofs() const final override
^~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2045:15: error: ‘std::size_t poisson_dofmap_0::num_global_support_dofs() const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2050:15: error: ‘std::size_t poisson_dofmap_0::num_element_support_dofs() const’ marked ‘final’, but is not virtual
std::size_t num_element_support_dofs() const final override
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2050:15: error: ‘std::size_t poisson_dofmap_0::num_element_support_dofs() const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2238:15: error: ‘std::size_t poisson_dofmap_1::num_global_support_dofs() const’ marked ‘final’, but is not virtual
std::size_t num_global_support_dofs() const final override
^~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2238:15: error: ‘std::size_t poisson_dofmap_1::num_global_support_dofs() const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2243:15: error: ‘std::size_t poisson_dofmap_1::num_element_support_dofs() const’ marked ‘final’, but is not virtual
std::size_t num_element_support_dofs() const final override
^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2243:15: error: ‘std::size_t poisson_dofmap_1::num_element_support_dofs() const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2495:8: error: ‘void poisson_coordinate_mapping_1::compute_reference_coordinates(double*, std::size_t, const double*, const double*, int) const’ marked ‘final’, but is not virtual
void compute_reference_coordinates(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2495:8: error: ‘void poisson_coordinate_mapping_1::compute_reference_coordinates(double*, std::size_t, const double*, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2528:8: error: ‘void poisson_coordinate_mapping_1::compute_reference_geometry(double*, double*, double*, double*, std::size_t, const double*, const double*, int) const’ marked ‘final’, but is not virtual
void compute_reference_geometry(
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2528:8: error: ‘void poisson_coordinate_mapping_1::compute_reference_geometry(double*, double*, double*, double*, std::size_t, const double*, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2577:8: error: ‘void poisson_coordinate_mapping_1::compute_jacobian_determinants(double*, std::size_t, const double*, int) const’ marked ‘final’, but is not virtual
void compute_jacobian_determinants(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2577:8: error: ‘void poisson_coordinate_mapping_1::compute_jacobian_determinants(double*, std::size_t, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2599:8: error: ‘void poisson_coordinate_mapping_1::compute_geometry(double*, double*, double*, double*, std::size_t, const double*, const double*, int) const’ marked ‘final’, but is not virtual
void compute_geometry(
^~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2599:8: error: ‘void poisson_coordinate_mapping_1::compute_geometry(double*, double*, double*, double*, std::size_t, const double*, const double*, int) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2610:8: error: ‘void poisson_coordinate_mapping_1::compute_midpoint_geometry(double*, double*, const double*) const’ marked ‘final’, but is not virtual
void compute_midpoint_geometry(
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2610:8: error: ‘void poisson_coordinate_mapping_1::compute_midpoint_geometry(double*, double*, const double*) const’ marked ‘override’, but does not override
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::coordinate_mapping* poisson_coordinate_mapping_1::create() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2449:45: error: invalid new-expression of abstract class type ‘poisson_coordinate_mapping_1’
return new poisson_coordinate_mapping_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2428:7: note: because the following virtual functions are pure within ‘poisson_coordinate_mapping_1’:
class poisson_coordinate_mapping_1: public ufc::coordinate_mapping
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/dolfin/ale/MeshDisplacement.h:26:0,
from /usr/local/include/dolfin/mesh/Mesh.h:35,
from /usr/local/include/dolfin/mesh/dolfin_mesh.h:11,
from /usr/local/include/dolfin.h:15,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:304:18: note: virtual void ufc::coordinate_mapping::compute_reference_coordinates(double*, std::size_t, const double*, const double*, double) const
virtual void compute_reference_coordinates(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:322:18: note: virtual void ufc::coordinate_mapping::compute_jacobian_determinants(double*, std::size_t, const double*, double) const
virtual void compute_jacobian_determinants(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/.local/lib/python3.5/site-packages/ffc/backends/ufc/ufc.h:333:18: note: virtual void ufc::coordinate_mapping::compute_geometry(double*, double*, double*, double*, std::size_t, const double*, const double*, double) const
virtual void compute_geometry(
^~~~~~~~~~~~~~~~
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_coordinate_mapping_1::create_coordinate_finite_element() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2469:41: error: invalid new-expression of abstract class type ‘poisson_finite_element_1’
return new poisson_finite_element_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual void poisson_coordinate_mapping_1::compute_physical_coordinates(double*, std::size_t, const double*, const double*) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2482:30: error: cannot declare variable ‘xelement’ to be of abstract type ‘poisson_finite_element_0’
poisson_finite_element_0 xelement;
^~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual void poisson_coordinate_mapping_1::compute_jacobians(double*, std::size_t, const double*, const double*) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2563:30: error: cannot declare variable ‘xelement’ to be of abstract type ‘poisson_finite_element_0’
poisson_finite_element_0 xelement;
^~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_form_0::create_coordinate_finite_element() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2939:41: error: invalid new-expression of abstract class type ‘poisson_finite_element_1’
return new poisson_finite_element_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::coordinate_mapping* poisson_form_0::create_coordinate_mapping() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2949:45: error: invalid new-expression of abstract class type ‘poisson_coordinate_mapping_1’
return new poisson_coordinate_mapping_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_form_0::create_finite_element(std::size_t) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2957:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:2959:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_form_1::create_coordinate_finite_element() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3182:41: error: invalid new-expression of abstract class type ‘poisson_finite_element_1’
return new poisson_finite_element_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::coordinate_mapping* poisson_form_1::create_coordinate_mapping() const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3192:45: error: invalid new-expression of abstract class type ‘poisson_coordinate_mapping_1’
return new poisson_coordinate_mapping_1();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h: In member function ‘virtual ufc::finite_element* poisson_form_1::create_finite_element(std::size_t) const’:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3200:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3202:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3204:45: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
return new poisson_finite_element_0();
^
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp: In function ‘int main()’:
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:72:32: error: no matching function for call to ‘Poisson::Form_a_FunctionSpace_0::Form_a_FunctionSpace_0(dolfin::UnitSquareMesh&)’
Poisson::FunctionSpace V(mesh);
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3474:3: note: candidate: Poisson::Form_a_FunctionSpace_0::Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh>, std::shared_ptr<const dolfin::SubDomain>)
Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh, std::shared_ptr<const dolfin::SubDomain> constrained_domain):
^~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3474:3: note: candidate expects 2 arguments, 1 provided
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3465:3: note: candidate: Poisson::Form_a_FunctionSpace_0::Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh>)
Form_a_FunctionSpace_0(std::shared_ptr<const dolfin::Mesh> mesh):
^~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3465:3: note: no known conversion for argument 1 from ‘dolfin::UnitSquareMesh’ to ‘std::shared_ptr<const dolfin::Mesh>’
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3460:7: note: candidate: Poisson::Form_a_FunctionSpace_0::Form_a_FunctionSpace_0(const Poisson::Form_a_FunctionSpace_0&)
class Form_a_FunctionSpace_0: public dolfin::FunctionSpace
^~~~~~~~~~~~~~~~~~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3460:7: note: no known conversion for argument 1 from ‘dolfin::UnitSquareMesh’ to ‘const Poisson::Form_a_FunctionSpace_0&’
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3460:7: note: candidate: Poisson::Form_a_FunctionSpace_0::Form_a_FunctionSpace_0(Poisson::Form_a_FunctionSpace_0&&)
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3460:7: note: no known conversion for argument 1 from ‘dolfin::UnitSquareMesh’ to ‘Poisson::Form_a_FunctionSpace_0&&’
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:77:33: error: no matching function for call to ‘dolfin::DirichletBC::DirichletBC(Poisson::FunctionSpace&, dolfin::Constant&, DirichletBoundary&)’
DirichletBC bc(V, u0, boundary);
^
In file included from /usr/local/include/dolfin/fem/dolfin_fem.h:13:0,
from /usr/local/include/dolfin.h:31,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/usr/local/include/dolfin/fem/DirichletBC.h:207:5: note: candidate: dolfin::DirichletBC::DirichletBC(const dolfin::DirichletBC&)
DirichletBC(const DirichletBC& bc);
^~~~~~~~~~~
/usr/local/include/dolfin/fem/DirichletBC.h:207:5: note: candidate expects 1 argument, 3 provided
/usr/local/include/dolfin/fem/DirichletBC.h:198:5: note: candidate: dolfin::DirichletBC::DirichletBC(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::GenericFunction>, const std::vector<long unsigned int>&, std::__cxx11::string)
DirichletBC(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~~~~
/usr/local/include/dolfin/fem/DirichletBC.h:198:5: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/usr/local/include/dolfin/fem/DirichletBC.h:181:5: note: candidate: dolfin::DirichletBC::DirichletBC(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::GenericFunction>, std::size_t, std::__cxx11::string)
DirichletBC(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~~~~
/usr/local/include/dolfin/fem/DirichletBC.h:181:5: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/usr/local/include/dolfin/fem/DirichletBC.h:163:5: note: candidate: dolfin::DirichletBC::DirichletBC(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::GenericFunction>, std::shared_ptr<const dolfin::MeshFunction<long unsigned int> >, std::size_t, std::__cxx11::string)
DirichletBC(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~~~~
/usr/local/include/dolfin/fem/DirichletBC.h:163:5: note: candidate expects 5 arguments, 3 provided
/usr/local/include/dolfin/fem/DirichletBC.h:144:5: note: candidate: dolfin::DirichletBC::DirichletBC(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::GenericFunction>, std::shared_ptr<const dolfin::SubDomain>, std::__cxx11::string, bool)
DirichletBC(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~~~~
/usr/local/include/dolfin/fem/DirichletBC.h:144:5: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:80:31: error: no matching function for call to ‘Poisson::Form_a::Form_a(Poisson::FunctionSpace&, Poisson::FunctionSpace&)’
Poisson::BilinearForm a(V, V);
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3553:3: note: candidate: Poisson::Form_a::Form_a(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::FunctionSpace>)
Form_a(std::shared_ptr<const dolfin::FunctionSpace> V1, std::shared_ptr<const dolfin::FunctionSpace> V0):
^~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3553:3: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3548:7: note: candidate: Poisson::Form_a::Form_a(const Poisson::Form_a&)
class Form_a: public dolfin::Form
^~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3548:7: note: candidate expects 1 argument, 2 provided
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:81:26: error: no matching function for call to ‘Poisson::Form_L::Form_L(Poisson::FunctionSpace&)’
Poisson::LinearForm L(V);
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:0:
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3713:3: note: candidate: Poisson::Form_L::Form_L(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<const dolfin::GenericFunction>, std::shared_ptr<const dolfin::GenericFunction>)
Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0, std::shared_ptr<const dolfin::GenericFunction> f, std::shared_ptr<const dolfin::GenericFunction> g):
^~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3713:3: note: candidate expects 3 arguments, 1 provided
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3704:3: note: candidate: Poisson::Form_L::Form_L(std::shared_ptr<const dolfin::FunctionSpace>)
Form_L(std::shared_ptr<const dolfin::FunctionSpace> V0):
^~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3704:3: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3699:7: note: candidate: Poisson::Form_L::Form_L(const Poisson::Form_L&)
class Form_L: public dolfin::Form
^~~~~~
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3699:7: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘const Poisson::Form_L&’
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:85:9: error: no match for ‘operator=’ (operand types are ‘dolfin::CoefficientAssigner’ and ‘Source’)
L.f = f;
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3403:0,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:
/usr/local/include/dolfin/function/CoefficientAssigner.h:50:10: note: candidate: void dolfin::CoefficientAssigner::operator=(std::shared_ptr<const dolfin::GenericFunction>)
void operator= (std::shared_ptr<const GenericFunction> coefficient);
^~~~~~~~
/usr/local/include/dolfin/function/CoefficientAssigner.h:50:10: note: no known conversion for argument 1 from ‘Source’ to ‘std::shared_ptr<const dolfin::GenericFunction>’
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:86:9: error: no match for ‘operator=’ (operand types are ‘dolfin::CoefficientAssigner’ and ‘dUdN’)
L.g = g;
^
In file included from /home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3403:0,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:35:
/usr/local/include/dolfin/function/CoefficientAssigner.h:50:10: note: candidate: void dolfin::CoefficientAssigner::operator=(std::shared_ptr<const dolfin::GenericFunction>)
void operator= (std::shared_ptr<const GenericFunction> coefficient);
^~~~~~~~
/usr/local/include/dolfin/function/CoefficientAssigner.h:50:10: note: no known conversion for argument 1 from ‘dUdN’ to ‘std::shared_ptr<const dolfin::GenericFunction>’
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:89:15: error: no matching function for call to ‘dolfin::Function::Function(Poisson::FunctionSpace&)’
Function u(V);
^
In file included from /usr/local/include/dolfin/ale/MeshDisplacement.h:29:0,
from /usr/local/include/dolfin/mesh/Mesh.h:35,
from /usr/local/include/dolfin/mesh/dolfin_mesh.h:11,
from /usr/local/include/dolfin.h:15,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/usr/local/include/dolfin/function/Function.h:117:5: note: candidate: dolfin::Function::Function(const dolfin::Function&, std::size_t)
Function(const Function& v, std::size_t i);
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:117:5: note: candidate expects 2 arguments, 1 provided
/usr/local/include/dolfin/function/Function.h:106:5: note: candidate: dolfin::Function::Function(const dolfin::Function&)
Function(const Function& v);
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:106:5: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘const dolfin::Function&’
/usr/local/include/dolfin/function/Function.h:98:5: note: candidate: dolfin::Function::Function(std::shared_ptr<const dolfin::FunctionSpace>, std::__cxx11::string)
Function(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:98:5: note: candidate expects 2 arguments, 1 provided
/usr/local/include/dolfin/function/Function.h:88:5: note: candidate: dolfin::Function::Function(std::shared_ptr<const dolfin::FunctionSpace>, std::shared_ptr<dolfin::GenericVector>)
Function(std::shared_ptr<const FunctionSpace> V,
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:88:5: note: candidate expects 2 arguments, 1 provided
/usr/local/include/dolfin/function/Function.h:76:14: note: candidate: dolfin::Function::Function(std::shared_ptr<const dolfin::FunctionSpace>)
explicit Function(std::shared_ptr<const FunctionSpace> V);
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:76:14: note: no known conversion for argument 1 from ‘Poisson::FunctionSpace {aka Poisson::Form_a_FunctionSpace_0}’ to ‘std::shared_ptr<const dolfin::FunctionSpace>’
/usr/local/include/dolfin/function/Function.h:69:5: note: candidate: dolfin::Function::Function()
Function() : Hierarchical<Function>(*this) {}
^~~~~~~~
/usr/local/include/dolfin/function/Function.h:69:5: note: candidate expects 0 arguments, 1 provided
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:97:9: error: ‘plot’ was not declared in this scope
plot(u);
^
/home/alex/fenicsfiles/3dprinting/cpp/main.cpp:98:15: error: ‘interactive’ was not declared in this scope
interactive();
^
In file included from /usr/include/x86_64-linux-gnu/c++/6/bits/c++allocator.h:33:0,
from /usr/include/c++/6/bits/allocator.h:46,
from /usr/include/c++/6/string:41,
from /usr/local/include/dolfin/common/defines.h:27,
from /usr/local/include/dolfin/common/dolfin_common.h:7,
from /usr/local/include/dolfin.h:10,
from /home/alex/fenicsfiles/3dprinting/cpp/main.cpp:34:
/usr/include/c++/6/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = poisson_finite_element_0; _Args = {}; _Tp = poisson_finite_element_0]’:
/usr/include/c++/6/bits/alloc_traits.h:475:4: required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = poisson_finite_element_0; _Args = {}; _Tp = poisson_finite_element_0; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<poisson_finite_element_0>]’
/usr/include/c++/6/bits/shared_ptr_base.h:520:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {}; _Tp = poisson_finite_element_0; _Alloc = std::allocator<poisson_finite_element_0>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr_base.h:615:4: required from ‘std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = poisson_finite_element_0; _Alloc = std::allocator<poisson_finite_element_0>; _Args = {}; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr_base.h:1100:35: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<poisson_finite_element_0>; _Args = {}; _Tp = poisson_finite_element_0; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’
/usr/include/c++/6/bits/shared_ptr.h:319:64: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<poisson_finite_element_0>; _Args = {}; _Tp = poisson_finite_element_0]’
/usr/include/c++/6/bits/shared_ptr.h:619:14: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = poisson_finite_element_0; _Alloc = std::allocator<poisson_finite_element_0>; _Args = {}]’
/usr/include/c++/6/bits/shared_ptr.h:635:39: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = poisson_finite_element_0; _Args = {}]’
/home/alex/fenicsfiles/3dprinting/cpp/Poisson.h:3419:116: required from here
/usr/include/c++/6/ext/new_allocator.h:120:4: error: invalid new-expression of abstract class type ‘poisson_finite_element_0’
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/demo_poisson.dir/build.make:62: recipe for target 'CMakeFiles/demo_poisson.dir/main.cpp.o' failed
make[2]: *** [CMakeFiles/demo_poisson.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/demo_poisson.dir/all' failed
make[1]: *** [CMakeFiles/demo_poisson.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2