← Back to team overview

dolfin team mailing list archive

compiling issues

 

I've been working at modifying the demos and compiling them using (maybe not the cleverest way though): 

scons enablePydolfin=no enableCholmod=no enableUmfpack=yes enableDemos=yes

however I recently got several crashes of my OS while compiling the demos (just after the demo gets compiled and when I restart my system I can actually run the generated demo program!), which were totally unexpected since everything went smoothly for 2 weeks before that and I just changed a form in the elasticity demo, so I had the very bad idea of downloading a fresh installation of dolfin and ffc. Now, as long as I compile the fresh repository with the following:

cd ~/FEniCS/dolfin/ 
scons enablePydolfin=no enableCholmod=no enableUmfpack=yes
sudo scons install
scons enablePydolfin=no enableCholmod=no enableUmfpack=yes enableDemos=yes

everithing is fine, but if I recompile any form in a random demo folder:

cd ~/FEniCS/dolfin/demo/pde/elasticity/cpp/ 
ffc -l dolfin *.form

I get the following unexplainable errors:

mpic++ -o demo/pde/elasticity/cpp/main.o -c -Wall -pipe -ansi -Werror -DDEBUG -g -DNDEBUG -O2 -DHAS_MPI=1 -DMPICH_IGNORE_CXX_SEEK -DPACKAGE_VERSION=\"0.8.1\" -DHAS_UMFPACK=1 -DHAS_GTS=1 -bind_at_load -I. -I. -Idolfin -I/System/Library/Frameworks/Python.framework/Versions/2.5/include -I/sw/include -I/opt/local/include/libxml2 -I/sw/include/suitesparse -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include demo/pde/elasticity/cpp/main.cpp
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityBilinearForm::ElasticityBilinearForm(const dolfin::FunctionSpace&, const dolfin::FunctionSpace&)':
demo/pde/elasticity/cpp/Elasticity.h:15539: error: no match for 'operator=' in '((ElasticityBilinearForm*)this)->ElasticityBilinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityBilinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityBilinearForm::UFC_ElasticityBilinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityBilinearForm::ElasticityBilinearForm(std::tr1::shared_ptr<const dolfin::FunctionSpace>, std::tr1::shared_ptr<const dolfin::FunctionSpace>)':
demo/pde/elasticity/cpp/Elasticity.h:15551: error: no match for 'operator=' in '((ElasticityBilinearForm*)this)->ElasticityBilinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityBilinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityBilinearForm::UFC_ElasticityBilinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityBilinearForm::ElasticityBilinearForm(const dolfin::FunctionSpace&, const dolfin::FunctionSpace&, dolfin::Function&, dolfin::Function&)':
demo/pde/elasticity/cpp/Elasticity.h:15568: error: no match for 'operator=' in '((ElasticityBilinearForm*)this)->ElasticityBilinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityBilinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityBilinearForm::UFC_ElasticityBilinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityBilinearForm::ElasticityBilinearForm(std::tr1::shared_ptr<const dolfin::FunctionSpace>, std::tr1::shared_ptr<const dolfin::FunctionSpace>, dolfin::Function&, dolfin::Function&)':
demo/pde/elasticity/cpp/Elasticity.h:15583: error: no match for 'operator=' in '((ElasticityBilinearForm*)this)->ElasticityBilinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityBilinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityBilinearForm::UFC_ElasticityBilinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityLinearForm::ElasticityLinearForm(const dolfin::FunctionSpace&)':
demo/pde/elasticity/cpp/Elasticity.h:15643: error: no match for 'operator=' in '((ElasticityLinearForm*)this)->ElasticityLinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityLinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityLinearForm::UFC_ElasticityLinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityLinearForm::ElasticityLinearForm(std::tr1::shared_ptr<const dolfin::FunctionSpace>)':
demo/pde/elasticity/cpp/Elasticity.h:15653: error: no match for 'operator=' in '((ElasticityLinearForm*)this)->ElasticityLinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityLinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityLinearForm::UFC_ElasticityLinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityLinearForm::ElasticityLinearForm(const dolfin::FunctionSpace&, dolfin::Function&)':
demo/pde/elasticity/cpp/Elasticity.h:15666: error: no match for 'operator=' in '((ElasticityLinearForm*)this)->ElasticityLinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityLinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityLinearForm::UFC_ElasticityLinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
demo/pde/elasticity/cpp/Elasticity.h: In constructor 'ElasticityLinearForm::ElasticityLinearForm(std::tr1::shared_ptr<const dolfin::FunctionSpace>, dolfin::Function&)':
demo/pde/elasticity/cpp/Elasticity.h:15678: error: no match for 'operator=' in '((ElasticityLinearForm*)this)->ElasticityLinearForm::<anonymous>.dolfin::Form::_ufc_form = (((UFC_ElasticityLinearForm*)operator new(4u)), (<anonymous>->UFC_ElasticityLinearForm::UFC_ElasticityLinearForm(), <anonymous>))'
/usr/include/c++/4.0.0/tr1/boost_shared_ptr.h:474: note: candidates are: std::tr1::shared_ptr<const ufc::form>& std::tr1::shared_ptr<const ufc::form>::operator=(const std::tr1::shared_ptr<const ufc::form>&)
scons: *** [demo/pde/elasticity/cpp/main.o] Error 1
scons: building terminated because of errors.

My configuration reads as follows:

scons: Reading SConscript files ...
Using options from scons/options.cache
Checking for pkg-config... yes
Checking for numpy-1... yes
Checking for python-2... yes
Checking for scotch... no (pkg-config file not found)
 Trying to generate pkg-config file for scotch... failed
Checking for trilinos... no (pkg-config file not found)
 Trying to generate pkg-config file for trilinos... failed
Checking for ufc-1... yes
Checking for umfpack... yes
Checking for mtl4... no (pkg-config file not found)
 Trying to generate pkg-config file for mtl4... failed
Checking for petsc... no (pkg-config file not found)
 Trying to generate pkg-config file for petsc... failed
Checking for gts... yes
Checking for boost... yes
Checking for parmetis... no (pkg-config file not found)
 Trying to generate pkg-config file for parmetis... failed
Checking for slepc... no (pkg-config file not found)
 Trying to generate pkg-config file for slepc... failed
Checking for libxml-2.0... yes
Resolving compiler... done
Found optional package: umfpack
Found optional package: gts
Unable to find optional package: petsc
Unable to find optional package: slepc
Unable to find optional package: scotch
Unable to find optional package: trilinos
Unable to find optional package: cholmod
Unable to find optional package: mtl4
Unable to find optional package: parmetis
Unable to find optional package: gmp
Disabling compilation of PyDOLFIN
scons: done reading SConscript files.

Thank you,
Alessio

Follow ups