machines-in-motion / shared_memory

realtime interprocess communication
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

Compilation error from shared_memory ? #16

Closed skleff1994 closed 4 years ago

skleff1994 commented 4 years ago

I am trying to catkin_make my workspace but I get this error from shared_memory package :

Screenshot from 2020-02-20 12-27-38 shared_memory_error2

I'm using Ubuntu 18.04 and I installed the following repositories using treep_amd_clmc and treep_machines_in_motion :

        ati_ft_sensor   master
        blmc_drivers    master
        blmc_robots jviereck/solo8_micro_driver
        ci_example  master
        dg_blmc_robots  jviereck/solo8_micro_driver
        dg_demos    master
        dg_tools    jviereck_merged
        dg_tutorial_with_turtlesim  master
        dg_vicon_sdk    master
        dynamic_graph_manager   jviereck/hardware_init
        master-board    jviereck/without_linear_imu
        mpi_cmake_modules   master
        mpi_cpp_tools   master
        pinocchio_bullet    master
        pybind11    master
        pybind11_catkin master
        real_time_tools master
        robot_interfaces    master
        robot_properties_quadruped  master
        robot_properties_solo   master
        robot_properties_stuggihop  master
        robot_properties_teststand  master
        rqt_dynamic_graph   master
        shared_memory   master
        time_series master
        vicon_sdk   master
        yaml_cpp_catkin master

Has anyone encountered this issue before ? Am I doing sth wrong ? Also, we compiled that same workspace on Ubuntu 16.04 and it worked fine

MaximilienNaveau commented 4 years ago

Using catkin_make is anyway deprecated so you should use catkin-tools, therefore: catkin build That being said @vincentberenz any idea? This code compiles without any issue in the build farm (docker ubuntu16.04) and on the machine of solo12 (Ubuntu16.04 rt_preempt).

What machine are you using? Mac?

skleff1994 commented 4 years ago

I deleted deve/ and build/ and used catkin build, I still get this error (+ missing dependencies) :

catkinbuild

Screenshot from 2020-02-21 10-31-35

Here's my machine info:

systeminfo

MaximilienNaveau commented 4 years ago

Ok you have a linking issue on real-time-tools, look at the errors:

/usr/bin/ld: cannot find -ledit
/usr/bin/ld: cannot find -lcurses

These error are linking error. It means the compiler misses these library to link against your program. So the solution is:

sudo apt-get install libedit-dev libncurses5

These should solve your issue compiling/using real-time-tools.

MaximilienNaveau commented 4 years ago

For the shared memory problem can you do a catkin build shared_memory --force-cmake and display the output here?

skleff1994 commented 4 years ago

Oh I see, thanks ! Here's the output :


Profile:                     default
Extending:          [cached] /opt/ros/melodic
Workspace:                   /home/sebastien/devel/workspace
--------------------------------------------------------------------
Build Space:        [exists] /home/sebastien/devel/workspace/build
Devel Space:        [exists] /home/sebastien/devel/workspace/devel
Install Space:      [unused] /home/sebastien/devel/workspace/install
Log Space:          [exists] /home/sebastien/devel/workspace/logs
Source Space:       [exists] /home/sebastien/devel/workspace/src
DESTDIR:            [unused] None
--------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
--------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
--------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
--------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
--------------------------------------------------------------------
[build] Found '27' packages in 0.0 seconds.                                                                                                                                                                                                                        
[build] Package table is up to date.                                                                                                                                                                                                                               
Starting  >>> mpi_cmake_modules                                                                                                                                                                                                                                    
Finished  <<< mpi_cmake_modules                [ 0.9 seconds ]                                                                                                                                                                                                     
Starting  >>> pybind11_catkin                                                                                                                                                                                                                                      
Finished  <<< pybind11_catkin                  [ 0.9 seconds ]                                                                                                                                                                                                     
Starting  >>> shared_memory                                                                                                                                                                                                                                        
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << shared_memory:make /home/sebastien/devel/workspace/logs/shared_memory/build.make.002.log                                                                                                                                                             
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx: In member function ‘shared_memory::array<T, SIZE>& shared_memory::array<T, SIZE>::operator=(shared_memory::array<T, SIZE>&&)’:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: error: no matching function for call to ‘swap(shared_memory::Mutex&)’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/stl_pair.h:59:0,
                 from /usr/include/c++/7/bits/stl_algobase.h:64,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:19,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/move.h:187:5: note: candidate: template<class _Tp> typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&)
     swap(_Tp& __a, _Tp& __b)
     ^~~~
/usr/include/c++/7/bits/move.h:187:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   candidate expects 2 arguments, 1 provided
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/stl_pair.h:59:0,
                 from /usr/include/c++/7/bits/stl_algobase.h:64,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:19,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/move.h:210:5: note: candidate: template<class _Tp, long unsigned int _Nm> typename std::enable_if<std::__is_swappable<_Tp>::value>::type std::swap(_Tp (&)[_Nm], _Tp (&)[_Nm])
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
     ^~~~
/usr/include/c++/7/bits/move.h:210:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   mismatched types ‘_Tp [_Nm]’ and ‘shared_memory::Mutex’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:19,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_pair.h:495:5: note: candidate: template<class _T1, class _T2> void std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)
     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_pair.h:495:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::pair<_T1, _T2>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/string:52:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:19,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/basic_string.h:6246:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> void std::swap(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~
/usr/include/c++/7/bits/basic_string.h:6246:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/vector:64:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:20,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_vector.h:1649:5: note: candidate: template<class _Tp, class _Alloc> void std::swap(std::vector<_Tp, _Alloc>&, std::vector<_Tp, _Alloc>&)
     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_vector.h:1649:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::vector<_Tp, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/vector:65:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:20,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_bvector.h:112:3: note: candidate: void std::swap(std::_Bit_reference, std::_Bit_reference)
   swap(_Bit_reference __x, _Bit_reference __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:112:3: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/7/bits/stl_bvector.h:120:3: note: candidate: void std::swap(std::_Bit_reference, bool&)
   swap(_Bit_reference __x, bool& __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:120:3: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/7/bits/stl_bvector.h:128:3: note: candidate: void std::swap(bool&, std::_Bit_reference)
   swap(bool& __x, _Bit_reference __y) noexcept
   ^~~~
/usr/include/c++/7/bits/stl_bvector.h:128:3: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/7/map:60:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:21,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_tree.h:1581:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> void std::swap(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_tree.h:1581:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/stl_map.h:63,
                 from /usr/include/c++/7/map:61,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:21,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/array:294:5: note: candidate: template<class _Tp, long unsigned int _Nm> void std::swap(std::array<_Tp, _Nm>&, std::array<_Tp, _Nm>&)
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
     ^~~~
/usr/include/c++/7/array:294:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::array<_Tp, _Nm>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/stl_map.h:63:0,
                 from /usr/include/c++/7/map:61,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:21,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/tuple:1602:5: note: candidate: template<class ... _Elements> void std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)
     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
     ^~~~
/usr/include/c++/7/tuple:1602:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::tuple<_Tps ...>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/map:61:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:21,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_map.h:1446:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> void std::swap(std::map<_Key, _Tp, _Compare, _Alloc>&, std::map<_Key, _Tp, _Compare, _Alloc>&)
     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_map.h:1446:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::map<_Key, _Tp, _Compare, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/map:62:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:21,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_multimap.h:1111:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> void std::swap(std::multimap<_Key, _Tp, _Compare, _Alloc>&, std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_multimap.h:1111:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::multimap<_Key, _Tp, _Compare, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/mutex:43:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:23,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/std_mutex.h:363:5: note: candidate: template<class _Mutex> void std::swap(std::unique_lock<_Mutex>&, std::unique_lock<_Mutex>&)
     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
     ^~~~
/usr/include/c++/7/bits/std_mutex.h:363:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unique_lock<_Mutex>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/eigen3/Eigen/Core:262,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/std_function.h:803:5: note: candidate: template<class _Res, class ... _Args> void std::swap(std::function<_Res(_ArgTypes ...)>&, std::function<_Res(_ArgTypes ...)>&)
     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
     ^~~~
/usr/include/c++/7/bits/std_function.h:803:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::function<_Res(_ArgTypes ...)>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/microsec_time_clock.hpp:18,
                 from /usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp:31,
                 from /usr/include/boost/interprocess/sync/scoped_lock.hpp:35,
                 from /usr/include/boost/interprocess/allocators/detail/allocator_common.hpp:32,
                 from /usr/include/boost/interprocess/allocators/allocator.hpp:30,
                 from /usr/include/boost/interprocess/segment_manager.hpp:38,
                 from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
                 from /usr/include/boost/interprocess/managed_shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:27,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:669:5: note: candidate: template<class _Tp, class _Dp> void std::swap(std::unique_ptr<_Tp, _Dp>&, std::unique_ptr<_Tp, _Dp>&)
     swap(unique_ptr<_Tp, _Dp>& __x,
     ^~~~
/usr/include/c++/7/bits/unique_ptr.h:669:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unique_ptr<_Tp, _Dp>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/microsec_time_clock.hpp:18,
                 from /usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp:31,
                 from /usr/include/boost/interprocess/sync/scoped_lock.hpp:35,
                 from /usr/include/boost/interprocess/allocators/detail/allocator_common.hpp:32,
                 from /usr/include/boost/interprocess/allocators/allocator.hpp:30,
                 from /usr/include/boost/interprocess/segment_manager.hpp:38,
                 from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
                 from /usr/include/boost/interprocess/managed_shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:27,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/shared_ptr_base.h:1533:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> void std::swap(std::__shared_ptr<_Tp, _Lp>&, std::__shared_ptr<_Tp, _Lp>&)
     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1533:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__shared_ptr<_Tp, _Lp>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/microsec_time_clock.hpp:18,
                 from /usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp:31,
                 from /usr/include/boost/interprocess/sync/scoped_lock.hpp:35,
                 from /usr/include/boost/interprocess/allocators/detail/allocator_common.hpp:32,
                 from /usr/include/boost/interprocess/allocators/allocator.hpp:30,
                 from /usr/include/boost/interprocess/segment_manager.hpp:38,
                 from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
                 from /usr/include/boost/interprocess/managed_shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:27,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/shared_ptr_base.h:1741:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> void std::swap(std::__weak_ptr<_Tp, _Lp>&, std::__weak_ptr<_Tp, _Lp>&)
     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1741:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__weak_ptr<_Tp, _Lp>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/microsec_time_clock.hpp:18,
                 from /usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp:31,
                 from /usr/include/boost/interprocess/sync/scoped_lock.hpp:35,
                 from /usr/include/boost/interprocess/allocators/detail/allocator_common.hpp:32,
                 from /usr/include/boost/interprocess/allocators/allocator.hpp:30,
                 from /usr/include/boost/interprocess/segment_manager.hpp:38,
                 from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
                 from /usr/include/boost/interprocess/managed_shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:27,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/shared_ptr.h:474:5: note: candidate: template<class _Tp> void std::swap(std::shared_ptr<_Tp>&, std::shared_ptr<_Tp>&)
     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr.h:474:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::shared_ptr<_Tp>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/boost/date_time/microsec_time_clock.hpp:18,
                 from /usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp:31,
                 from /usr/include/boost/interprocess/sync/scoped_lock.hpp:35,
                 from /usr/include/boost/interprocess/allocators/detail/allocator_common.hpp:32,
                 from /usr/include/boost/interprocess/allocators/allocator.hpp:30,
                 from /usr/include/boost/interprocess/segment_manager.hpp:38,
                 from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
                 from /usr/include/boost/interprocess/managed_shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:27,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/shared_ptr.h:595:5: note: candidate: template<class _Tp> void std::swap(std::weak_ptr<_Tp>&, std::weak_ptr<_Tp>&)
     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
     ^~~~
/usr/include/c++/7/bits/shared_ptr.h:595:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::weak_ptr<_Tp>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/deque:64:0,
                 from /usr/include/boost/detail/container_fwd.hpp:91,
                 from /usr/include/boost/functional/hash/extensions.hpp:22,
                 from /usr/include/boost/functional/hash/hash.hpp:594,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/container/string.hpp:52,
                 from /usr/include/boost/interprocess/containers/string.hpp:23,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:30,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_deque.h:2312:5: note: candidate: template<class _Tp, class _Alloc> void std::swap(std::deque<_Tp, _Alloc>&, std::deque<_Tp, _Alloc>&)
     swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_deque.h:2312:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::deque<_Tp, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/list:63:0,
                 from /usr/include/boost/detail/container_fwd.hpp:92,
                 from /usr/include/boost/functional/hash/extensions.hpp:22,
                 from /usr/include/boost/functional/hash/hash.hpp:594,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/container/string.hpp:52,
                 from /usr/include/boost/interprocess/containers/string.hpp:23,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:30,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_list.h:1949:5: note: candidate: template<class _Tp, class _Alloc> void std::swap(std::__cxx11::list<_Tp, _Alloc>&, std::__cxx11::list<_Tp, _Alloc>&)
     swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_list.h:1949:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::list<_Tp, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/set:61:0,
                 from /usr/include/boost/detail/container_fwd.hpp:95,
                 from /usr/include/boost/functional/hash/extensions.hpp:22,
                 from /usr/include/boost/functional/hash/hash.hpp:594,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/container/string.hpp:52,
                 from /usr/include/boost/interprocess/containers/string.hpp:23,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:30,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_set.h:965:5: note: candidate: template<class _Key, class _Compare, class _Alloc> void std::swap(std::set<_Key, _Compare, _Alloc>&, std::set<_Key, _Compare, _Alloc>&)
     swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
     ^~~~
/usr/include/c++/7/bits/stl_set.h:965:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::set<_Key, _Compare, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/set:62:0,
                 from /usr/include/boost/detail/container_fwd.hpp:95,
                 from /usr/include/boost/functional/hash/extensions.hpp:22,
                 from /usr/include/boost/functional/hash/hash.hpp:594,
                 from /usr/include/boost/functional/hash.hpp:6,
                 from /usr/include/boost/container/string.hpp:52,
                 from /usr/include/boost/interprocess/containers/string.hpp:23,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:30,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/stl_multiset.h:948:5: note: candidate: template<class _Key, class _Compare, class _Alloc> void std::swap(std::multiset<_Key, _Compare, _Alloc>&, std::multiset<_Key, _Compare, _Alloc>&)
     swap(multiset<_Key, _Compare, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/stl_multiset.h:948:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::multiset<_Key, _Compare, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/cereal/cereal.hpp:35,
                 from /usr/include/cereal/archives/binary.hpp:32,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/serializer.hpp:7,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:33,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/unordered_map.h:1890:5: note: candidate: template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&)
     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_map.h:1890:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/cereal/cereal.hpp:35,
                 from /usr/include/cereal/archives/binary.hpp:32,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/serializer.hpp:7,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:33,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/unordered_map.h:1897:5: note: candidate: template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&, std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&)
     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_map.h:1897:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/unordered_set:48:0,
                 from /usr/include/cereal/cereal.hpp:36,
                 from /usr/include/cereal/archives/binary.hpp:32,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/serializer.hpp:7,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:33,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/unordered_set.h:1521:5: note: candidate: template<class _Value, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_set<_Value, _Hash, _Pred, _Alloc>&, std::unordered_set<_Value, _Hash, _Pred, _Alloc>&)
     swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_set.h:1521:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/unordered_set:48:0,
                 from /usr/include/cereal/cereal.hpp:36,
                 from /usr/include/cereal/archives/binary.hpp:32,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/serializer.hpp:7,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:33,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/bits/unordered_set.h:1528:5: note: candidate: template<class _Value, class _Hash, class _Pred, class _Alloc> void std::swap(std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>&, std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>&)
     swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
     ^~~~
/usr/include/c++/7/bits/unordered_set.h:1528:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::unordered_multiset<_Value, _Hash, _Pred, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/eigen3/Eigen/Core:80,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/sstream:817:5: note: candidate: template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:817:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Allocator>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/eigen3/Eigen/Core:80,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/sstream:810:5: note: candidate: template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:810:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::basic_ostringstream<_CharT, _Traits, _Allocator>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/eigen3/Eigen/Core:80,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/sstream:803:5: note: candidate: template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>&)
     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:803:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::basic_istringstream<_CharT, _Traits, _Allocator>’
   mutex_ = std::swap(other.mutex_);
                                  ^
In file included from /usr/include/c++/7/complex:45:0,
                 from /usr/include/eigen3/Eigen/Core:80,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/shared_memory.hpp:25,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:6,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/usr/include/c++/7/sstream:796:5: note: candidate: template<class _CharT, class _Traits, class _Allocator> void std::__cxx11::swap(std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>&)
     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
     ^~~~
/usr/include/c++/7/sstream:796:5: note:   template argument deduction/substitution failed:
In file included from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/devel/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: note:   ‘shared_memory::Mutex’ is not derived from ‘std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>’
   mutex_ = std::swap(other.mutex_);
                                  ^
make[2]: *** [CMakeFiles/shared_memory.dir/src/array.cpp.o] Error 1
make[1]: *** [CMakeFiles/shared_memory.dir/all] Error 2
make: *** [all] Error 2
cd /home/sebastien/devel/workspace/build/shared_memory; catkin build --get-env shared_memory | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...................................................................................................................................................................................................................................................................
Failed     << shared_memory:make               [ Exited with code 2 ]                                                                                                                                                                                              
Failed    <<< shared_memory                    [ 2.4 seconds ]                                                                                                                                                                                                     
[build] Summary: 2 of 3 packages succeeded.                                                                                                                                                                                                                        
[build]   Ignored:   24 packages were skipped or are blacklisted.                                                                                                                                                                                                  
[build]   Warnings:  None.                                                                                                                                                                                                                                         
[build]   Abandoned: None.                                                                                                                                                                                                                                         
[build]   Failed:    1 packages failed.                                                                                                                                                                                                                            
[build] Runtime: 4.3 seconds total. ```
MaximilienNaveau commented 4 years ago

Ok! I did not notice you where on 18.04. We do not support this yet but need to. @vincentberenz can you try to debug this? You wrote the shared_memory::array.

vincentberenz commented 4 years ago

@MaximilienNaveau @skleff1994 youp, but as you mentioned, things are compiling fine on the continuous integration, which runs on 16.04, which is the only OS supported from now (I know, I know). @skleff1994 Can you create a new workspace with only the (treep) project CORE_ROBOTICS and let us know how if you have the same issue ?

skleff1994 commented 4 years ago

@vincentberenz I just tried what you said, I get the same error :

Profile:                     default
Extending:             [env] /opt/ros/melodic
Workspace:                   /home/sebastien/ws_test/workspace
----------------------------------------------------------------------
Build Space:        [exists] /home/sebastien/ws_test/workspace/build
Devel Space:        [exists] /home/sebastien/ws_test/workspace/devel
Install Space:      [unused] /home/sebastien/ws_test/workspace/install
Log Space:          [exists] /home/sebastien/ws_test/workspace/logs
Source Space:       [exists] /home/sebastien/ws_test/workspace/src
DESTDIR:            [unused] None
----------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
----------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
----------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
----------------------------------------------------------------------
Workspace configuration appears valid.
----------------------------------------------------------------------
[build] Found '8' packages in 0.0 seconds.                                                                                                                                                                                    
[build] Package table is up to date.                                                                                                                                                                                          
Warning: generated devel space setup files have been deleted.
Starting  >>> catkin_tools_prebuild                                                                                                                                                                                           
Finished  <<< catkin_tools_prebuild                [ 1.4 seconds ]                                                                                                                                                            
Starting  >>> mpi_cmake_modules                                                                                                                                                                                               
Finished  <<< mpi_cmake_modules                    [ 3.4 seconds ]                                                                                                                                                            
Starting  >>> ci_example_python                                                                                                                                                                                               
Starting  >>> pybind11_catkin                                                                                                                                                                                                 
Starting  >>> real_time_tools                                                                                                                                                                                                 
Starting  >>> yaml_cpp_catkin                                                                                                                                                                                                 
Finished  <<< pybind11_catkin                      [ 2.8 seconds ]                                                                                                                                                            
Starting  >>> ci_example_cpp                                                                                                                                                                                                  
Starting  >>> shared_memory                                                                                                                                                                                                   
Finished  <<< yaml_cpp_catkin                      [ 2.9 seconds ]                                                                                                                                                            
Finished  <<< ci_example_python                    [ 3.2 seconds ]                                                                                                                                                            
Finished  <<< real_time_tools                      [ 4.9 seconds ]                                                                                                                                                            
______________________________________________________________________________________________________________________________________________________________________________________________________________________________
Warnings   << ci_example_cpp:cmake /home/sebastien/ws_test/workspace/logs/ci_example_cpp/build.cmake.000.log                                                                                                                  
CMake Warning (dev) at /home/sebastien/ws_test/workspace/src/catkin/core_robotics/mpi_cmake_modules/cmake/pkg-config.cmake:667 (TARGET_LINK_LIBRARIES):
  Policy CMP0023 is not set: Plain and keyword target_link_libraries
  signatures cannot be mixed.  Run "cmake --help-policy CMP0023" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The keyword signature for target_link_libraries has already been used with
  the target "basic_pid".  All uses of target_link_libraries with a target
  should be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * /home/sebastien/ws_test/workspace/src/not_catkin/third_party/pybind11/tools/pybind11Tools.cmake:107 (target_link_libraries)
   * CMakeLists.txt:162 (target_link_libraries)

Call Stack (most recent call first):
  /home/sebastien/ws_test/workspace/src/catkin/core_robotics/mpi_cmake_modules/cmake/pkg-config.cmake:702 (_PKG_CONFIG_MANIPULATE_LDFLAGS)
  /home/sebastien/ws_test/workspace/src/catkin/core_robotics/mpi_cmake_modules/cmake/pkg-config.cmake:769 (PKG_CONFIG_USE_LLINK_DEPENDENCY)
  CMakeLists.txt:163 (pkg_config_use_dependency)
This warning is for project developers.  Use -Wno-dev to suppress it.

cd /home/sebastien/ws_test/workspace/build/ci_example_cpp; catkin build --get-env ci_example_cpp | catkin env -si  /usr/bin/cmake /home/sebastien/ws_test/workspace/src/catkin/examples/ci_example/ci_example_cpp --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/sebastien/ws_test/workspace/devel/.private/ci_example_cpp -DCMAKE_INSTALL_PREFIX=/home/sebastien/ws_test/workspace/install; cd -
..............................................................................................................................................................................................................................
______________________________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << shared_memory:make /home/sebastien/ws_test/workspace/logs/shared_memory/build.make.000.log                                                                                                                      
In file included from /home/sebastien/ws_test/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hpp:170:0,
                 from /home/sebastien/ws_test/workspace/src/catkin/core_robotics/shared_memory/src/array.cpp:1:
/home/sebastien/ws_test/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx: In member function ‘shared_memory::array<T, SIZE>& shared_memory::array<T, SIZE>::operator=(shared_memory::array<T, SIZE>&&)’:
/home/sebastien/ws_test/workspace/src/catkin/core_robotics/shared_memory/include/shared_memory/array.hxx:70:34: error: no matching function for call to ‘swap(shared_memory::Mutex&)’
   mutex_ = std::swap(other.mutex_);
                                  ^
(...)

make[2]: *** [CMakeFiles/shared_memory.dir/src/array.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/shared_memory.dir/all] Error 2
make: *** [all] Error 2
cd /home/sebastien/ws_test/workspace/build/shared_memory; catkin build --get-env shared_memory | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
..............................................................................................................................................................................................................................
Failed     << shared_memory:make                   [ Exited with code 2 ]                                                                                                                                                     
Failed    <<< shared_memory                        [ 5.7 seconds ]                                                                                                                                                            
Abandoned <<< time_series                          [ Unrelated job failed ]                                                                                                                                                   
Finished  <<< ci_example_cpp                       [ 7.9 seconds ]                                                                                                                                                            
[build] Summary: 7 of 9 packages succeeded.                                                                                                                                                                                   
[build]   Ignored:   None.                                                                                                                                                                                                    
[build]   Warnings:  1 packages succeeded with warnings.                                                                                                                                                                      
[build]   Abandoned: 1 packages were abandoned.                                                                                                                                                                               
[build]   Failed:    1 packages failed.                                                                                                                                                                                       
[build] Runtime: 15.6 seconds total.                                                                                                                                                                                          
[build] Note: Workspace packages have changed, please re-source setup files to use them.
vincentberenz commented 4 years ago

@skleff1994 as a temporary hack, you can try to comment the faulty function (in array.hpp and array.hxx). It may not be used anywhere. Will investigate more tomorrow

skleff1994 commented 4 years ago

Alright, thank you !

skleff1994 commented 4 years ago

(that hack worked !)

jviereck commented 4 years ago

Is there a way we can do an #ifdef UBUNTU1604 or similar to disable the feature for 1804? I know this is a hack and very bad, but we have to run some of our lab machines in New York on 1804 as 1604 does not work on them :/

vincentberenz commented 4 years ago

I guess if I manage to solve this issue for 18.04, then it will work for 16.04 as well. I may be wrong, but that is worth trying first. Moving to 18.04 starts to be urgent. I have been too busy to start the 18.04 continuous integration, will try to do this next week.

vincentberenz commented 4 years ago

@skleff1994 The issue has been solved. You may pull the master branch.