Ok. I'll drop some small C++11 'testers' in the code and we can see if
they cause any issues for users of dolfin/master.
I'm having a build failure on master due to hem.... CGAL!
First part of the build log attached.
I've verified that removing the -std=c++11
flag the file PolyhedronUtils.cpp builds fine.
I would be tempted to configure without CGAL for the time being,
but I really fear that this would prevent mshr from having a working
dolfin::Mesh interface.
CGAL version: CGAL-4.1
/usr/bin/c++ --version:
c++ (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
I'll let you know whether switching to CGAL 4.3 changes anything.
Marco
/usr/bin/cmake -H/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin -B/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/CMakeFiles /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir'
make -f dolfin/CMakeFiles/dolfin.dir/build.make dolfin/CMakeFiles/dolfin.dir/depend
make[2]: Entering directory `/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir'
cd /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/dolfin /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/dolfin/CMakeFiles/dolfin.dir/DependInfo.cmake --color=
make[2]: Leaving directory `/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir'
make -f dolfin/CMakeFiles/dolfin.dir/build.make dolfin/CMakeFiles/dolfin.dir/build
make[2]: Entering directory `/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir'
/usr/bin/cmake -E cmake_progress_report /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/CMakeFiles
[ 0%] Building CXX object dolfin/CMakeFiles/dolfin.dir/generation/PolyhedronUtils.cpp.o
cd /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dorsal_build_dir/dolfin && /usr/bin/c++ -DBOOST_UBLAS_NDEBUG -DCGAL_DISABLE_ROUNDING_MATH_CHECK -DDOLFIN_GIT_COMMIT_HASH=\"e50c6920410a818ea0014ffdb97da9980c65f585\" -DDOLFIN_VERSION=\"1.3.0+\" -DHAS_CGAL -DHAS_CHOLMOD -DHAS_CPPUNIT -DHAS_HDF5 -DHAS_MPI -DHAS_OPENMP -DHAS_PARMETIS -DHAS_PASTIX -DHAS_PETSC -DHAS_QT4 -DHAS_QVTK -DHAS_SCOTCH -DHAS_SLEPC -DHAS_TAO -DHAS_TRILINOS -DHAS_UMFPACK -DHAS_VTK -DHAS_ZLIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -D_BSD_SOURCE -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -Ddolfin_EXPORTS -std=c++11 -Wno-deprecated -frounding-math -fopenmp -O2 -g -DNDEBUG -fPIC -isystem /usr/include/QtGui -isystem /usr/include/QtCore -isystem /home/marco/local/Fenics/include/vtk-5.10 -I/home/marco/Programmi/Dolphin/src_from_dorsal/dolfin -I/usr/include/libxml2 -isystem /home/marco/local/Fenics/include -I/home/marco/local/Fenics -I/usr/include/suitesparse -isystem /usr/include/eigen3 -isystem /home/marco/local/Fenics/lib/cmake/Trilinos/../../../include/trilinos -isystem /home/marco/local/Fenics/include/trilinos -isystem /home/marco/local/Fenics/include/suitesparse -o CMakeFiles/dolfin.dir/generation/PolyhedronUtils.cpp.o -c /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/PolyhedronUtils.cpp
In file included from /usr/include/c++/4.8/tuple:39:0,
from /usr/include/c++/4.8/functional:55,
from /usr/include/c++/4.8/bits/stl_algo.h:66,
from /usr/include/c++/4.8/algorithm:62,
from /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/PolyhedronUtils.cpp:27:
/usr/include/c++/4.8/array: In instantiation of âstruct std::array<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, 2ul>â:
/home/marco/local/Fenics/include/CGAL/Cartesian/Segment_3.h:45:8: required from âclass CGAL::SegmentC3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/CGAL/Segment_3.h:37:7: required from âclass CGAL::Segment_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/boost/utility/detail/result_of_iterate.hpp:140:51: required from âstruct boost::detail::cpp0x_result_of<CGAL::CommonKernelFunctors::Compute_squared_length_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >(CGAL::Vector_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >)>â
/home/marco/local/Fenics/include/boost/utility/detail/result_of_iterate.hpp:42:8: required from âstruct boost::result_of<CGAL::CommonKernelFunctors::Compute_squared_length_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >(CGAL::Vector_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >)>â
/home/marco/local/Fenics/include/CGAL/Vector_3.h:219:3: required from âclass CGAL::Vector_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/CGAL/Cartesian/Point_3.h:41:12: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/marco/local/Fenics/include/CGAL/Lazy_kernel.h:65:8: required from âstruct CGAL::internal::Has_result_type<CGAL::CommonKernelFunctors::Construct_circle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > > >â
/home/marco/local/Fenics/include/CGAL/Kernel/interface_macros.h:273:1: required from âclass CGAL::Lazy_kernel_generic_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/Lazy_kernel.h:222:7: required from âclass CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/Kernel/Type_equality_wrapper.h:37:8: required from âstruct CGAL::Type_equality_wrapper<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/internal/Static_filters/Static_filters.h:104:7: required from âclass CGAL::internal::Static_filters<CGAL::Type_equality_wrapper<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>, CGAL::Epeck>, false>â
/home/marco/local/Fenics/include/CGAL/Exact_predicates_exact_constructions_kernel.h:64:22: required from here
/usr/include/c++/4.8/array:97:56: error: âstd::array<_Tp, _Nm>::_M_elemsâ has incomplete type
typename _AT_Type::_Type _M_elems;
^
In file included from /home/marco/local/Fenics/include/CGAL/user_classes.h:41:0,
from /home/marco/local/Fenics/include/CGAL/Kernel/global_functions_2.h:33,
from /home/marco/local/Fenics/include/CGAL/Kernel/global_functions.h:31,
from /home/marco/local/Fenics/include/CGAL/Cartesian/Cartesian_base.h:30,
from /home/marco/local/Fenics/include/CGAL/Simple_cartesian.h:28,
from /home/marco/local/Fenics/include/CGAL/Exact_predicates_exact_constructions_kernel.h:28,
from /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/cgal_csg3d.h:12,
from /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/PolyhedronUtils.h:29,
from /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/PolyhedronUtils.cpp:29:
/home/marco/local/Fenics/include/CGAL/Point_3.h:39:7: error: declaration of âclass CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
class Point_3 : public R_::Kernel_base::Point_3
^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
from /usr/include/c++/4.8/bits/char_traits.h:39,
from /usr/include/c++/4.8/ios:40,
from /usr/include/c++/4.8/istream:38,
from /usr/include/c++/4.8/fstream:38,
from /home/marco/Programmi/Dolphin/src_from_dorsal/dolfin/dolfin/generation/PolyhedronUtils.cpp:23:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of âstruct std::pair<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Vector_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > > >â:
/home/marco/local/Fenics/include/CGAL/Cartesian/Line_3.h:48:8: required from âclass CGAL::LineC3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/CGAL/Line_3.h:37:7: required from âclass CGAL::Line_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/boost/utility/detail/result_of_iterate.hpp:140:51: required from âstruct boost::detail::cpp0x_result_of<CGAL::CommonKernelFunctors::Construct_point_on_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >(CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, int)>â
/home/marco/local/Fenics/include/boost/utility/detail/result_of_iterate.hpp:42:8: required from âstruct boost::result_of<CGAL::CommonKernelFunctors::Construct_point_on_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >(CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, int)>â
/home/marco/local/Fenics/include/CGAL/Ray_3.h:109:3: required from âclass CGAL::Ray_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >â
/home/marco/local/Fenics/include/boost/utility/detail/result_of_iterate.hpp:140:51: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/marco/local/Fenics/include/CGAL/Lazy_kernel.h:65:8: required from âstruct CGAL::internal::Has_result_type<CGAL::CommonKernelFunctors::Construct_circle_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > > >â
/home/marco/local/Fenics/include/CGAL/Kernel/interface_macros.h:273:1: required from âclass CGAL::Lazy_kernel_generic_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/Lazy_kernel.h:222:7: required from âclass CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/Kernel/Type_equality_wrapper.h:37:8: required from âstruct CGAL::Type_equality_wrapper<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>, CGAL::Epeck>â
/home/marco/local/Fenics/include/CGAL/internal/Static_filters/Static_filters.h:104:7: required from âclass CGAL::internal::Static_filters<CGAL::Type_equality_wrapper<CGAL::Lazy_kernel_base<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Epeck>, CGAL::Epeck>, false>â
/home/marco/local/Fenics/include/CGAL/Exact_predicates_exact_constructions_kernel.h:64:22: required from here
/usr/include/c++/4.8/bits/stl_pair.h:101:11: error: âstd::pair<_T1, _T2>::firstâ has incomplete type
_T1 first; /// @c first is a copy of the first object
^
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics