This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Local dolfin build: UFC package not found

0 votes

Hi Everyone, Sorry for the multiple posts about this on different FENICS sites but we still haven't been able to resolve this problem and I thought perhaps someone here might be able to help.

In the past we've been able to build dolfin from source but lately have been getting this error during the dolfin build:

-- The following REQUIRED packages have not been found:

UFC (required version >= 2016.2) , Unified language for form-compilers (part of FFC) , https://bitbucket.org/fenics-project/ffc
We haven't been able to track this down. It seems like this is a problem with the install of ffc, i.e., python setup.py install is not working correctly. Has anyone else seen this and perhaps have a workaround/solution?

Thanks,

Dave

closed with the note: Issue sufficiently resolved.
asked Sep 12, 2016 by david.bernstein FEniCS User (2,000 points)
closed Sep 13, 2016 by david.bernstein

With the new version naming scheme I had an issue where the old versions weren't removed. One thing you can check is your python site packages to ensure the old versions aren't still polluting the pythonpath.

Hey thanks, that helped. Now I'm just getting the link error

[ 92%] Linking CXX shared library libdolfin.dylib
Undefined symbols for architecture x86_64:
"boost::system::system_category()", referenced from:
GLOBALsub_I_ErrorControl.cpp in ErrorControl.cpp.o
GLOBALsub_I_Extrapolation.cpp in Extrapolation.cpp.o
GLOBALsub_I_GenericAdaptiveVariationalSolver.cpp in GenericAdaptiveVariationalSolver.cpp.o
GLOBALsub_I_SubSystemsManager.cpp in SubSystemsManager.cpp.o
GLOBALsub_I_Timer.cpp in Timer.cpp.o
GLOBALsub_I_timing.cpp in timing.cpp.o
GLOBALsub_I_Assembler.cpp in Assembler.cpp.o
...
"boost::system::generic_category()", referenced from:
GLOBALsub_I_ErrorControl.cpp in ErrorControl.cpp.o
GLOBALsub_I_Extrapolation.cpp in Extrapolation.cpp.o
GLOBALsub_I_GenericAdaptiveVariationalSolver.cpp in GenericAdaptiveVariationalSolver.cpp.o
GLOBALsub_I_SubSystemsManager.cpp in SubSystemsManager.cpp.o
GLOBALsub_I_Timer.cpp in Timer.cpp.o
GLOBALsub_I_timing.cpp in timing.cpp.o
GLOBALsub_I_Assembler.cpp in Assembler.cpp.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [dolfin/libdolfin.2016.2.0.dev0.dylib] Error 1
make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error 2
make: *** [all] Error 2

So I was able to get dolfin to build and install by changing line 359 of the top level cmakelists.txt file to

set(DOLFIN_BOOST_COMPONENTS system filesystem program_options iostreams timer)

That is, I added the "system" component.

The system component was recently removed. You might want to consider filing a bug report for DOLFIN.

Thanks, I did file a bug report just now.

...