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

Reply via email to