Numerical Differentiation tutorial failing
When I try to run the completed tutorial I get the error:
In file included from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Memory/ThreadSpecificPool.hpp:45:0,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Memory/NekMemoryManager.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/BasicUtils/ArrayPolicies.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/BasicUtils/SharedArray.hpp:39,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/Points.h:46,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:40,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/ThirdParty/loki/Singleton.h: In function ‘void Loki::SetLongevity(T*, unsigned int, Destroyer)’:
/home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/ThirdParty/loki/Singleton.h:143:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<LifetimeTracker>
^
In file included from /usr/include/c++/5/memory:81:0,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/FoundationsFwd.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:39,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
template<typename> class auto_ptr;
^
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp: In function ‘int main(int, char**)’:
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:50:17: error: no match for ‘operator=’ (operand types are ‘MatrixSharedPtrType {aka std::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ and ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’)
derivMatrix = (LibUtilities::PointsManager()[quadPointsKey])->GetD();
^
In file included from /usr/include/c++/5/memory:82:0,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/FoundationsFwd.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:39,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/usr/include/c++/5/bits/shared_ptr.h:271:19: note: candidate: std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
shared_ptr& operator=(const shared_ptr&) noexcept = default;
^
/usr/include/c++/5/bits/shared_ptr.h:271:19: note: no known conversion for argument 1 from ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ to ‘const std::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >&’
/usr/include/c++/5/bits/shared_ptr.h:275:2: note: candidate: template<class _Tp1> std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp1>&) [with _Tp1 = _Tp1; _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
operator=(const shared_ptr<_Tp1>& __r) noexcept
^
/usr/include/c++/5/bits/shared_ptr.h:275:2: note: template argument deduction/substitution failed:
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:50:17: note: ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ is not derived from ‘const std::shared_ptr<_Tp1>’
derivMatrix = (LibUtilities::PointsManager()[quadPointsKey])->GetD();
^
In file included from /usr/include/c++/5/memory:82:0,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/FoundationsFwd.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:39,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/usr/include/c++/5/bits/shared_ptr.h:284:2: note: candidate: template<class _Tp1> std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Tp1 = _Tp1; _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
operator=(std::auto_ptr<_Tp1>&& __r)
^
/usr/include/c++/5/bits/shared_ptr.h:284:2: note: template argument deduction/substitution failed:
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:50:17: note: types ‘std::auto_ptr<Y>’ and ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ have incompatible cv-qualifiers
derivMatrix = (LibUtilities::PointsManager()[quadPointsKey])->GetD();
^
In file included from /usr/include/c++/5/memory:82:0,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/FoundationsFwd.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:39,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/usr/include/c++/5/bits/shared_ptr.h:292:7: note: candidate: std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
operator=(shared_ptr&& __r) noexcept
^
/usr/include/c++/5/bits/shared_ptr.h:292:7: note: no known conversion for argument 1 from ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ to ‘std::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >&&’
/usr/include/c++/5/bits/shared_ptr.h:300:2: note: candidate: template<class _Tp1> std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp1>&&) [with _Tp1 = _Tp1; _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
operator=(shared_ptr<_Tp1>&& __r) noexcept
^
/usr/include/c++/5/bits/shared_ptr.h:300:2: note: template argument deduction/substitution failed:
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:50:17: note: types ‘std::shared_ptr<_Tp1>’ and ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ have incompatible cv-qualifiers
derivMatrix = (LibUtilities::PointsManager()[quadPointsKey])->GetD();
^
In file included from /usr/include/c++/5/memory:82:0,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/FoundationsFwd.hpp:41,
from /home/alexandre/Programs/nektar++-4.4.1/build/dist/include/nektar++-4.4.1/LibUtilities/Foundations/ManagerAccess.h:39,
from /home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:4:
/usr/include/c++/5/bits/shared_ptr.h:308:2: note: candidate: template<class _Tp1, class _Del> std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Tp1 = _Tp1; _Del = _Del; _Tp = Nektar::NekMatrix<double, Nektar::StandardMatrixTag>]
operator=(std::unique_ptr<_Tp1, _Del>&& __r)
^
/usr/include/c++/5/bits/shared_ptr.h:308:2: note: template argument deduction/substitution failed:
/home/alexandre/Documents/NekktarFiles/Tutorial/fundamentals-differentiation/completed/StdDifferentiation1D.cpp:50:17: note: types ‘std::unique_ptr<_Tp, _Dp>’ and ‘const MatrixSharedPtrType {aka const boost::shared_ptr<Nektar::NekMatrix<double, Nektar::StandardMatrixTag> >}’ have incompatible cv-qualifiers
derivMatrix = (LibUtilities::PointsManager()[quadPointsKey])->GetD();
^
CMakeFiles/StdDifferentiation1D.dir/build.make:62: recipe for target 'CMakeFiles/StdDifferentiation1D.dir/StdDifferentiation1D.cpp.o' failed
make[3]: *** [CMakeFiles/StdDifferentiation1D.dir/StdDifferentiation1D.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/StdDifferentiation1D.dir/all' failed
make[2]: *** [CMakeFiles/StdDifferentiation1D.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/StdDifferentiation1D.dir/rule' failed
make[1]: *** [CMakeFiles/StdDifferentiation1D.dir/rule] Error 2
Makefile:118: recipe for target 'StdDifferentiation1D' failed
make: *** [StdDifferentiation1D] Error 2