ORB_SLAM3 icon indicating copy to clipboard operation
ORB_SLAM3 copied to clipboard

Build Error with Pangolin

Open bytemani opened this issue 4 years ago • 9 comments

Hi, I met many errors related with Pangolin (version 0.6) as below. Any one knows what is going on? Thank you. My working environment is ubuntu 18.04.

[ 59%] Building CXX object CMakeFiles/ORB_SLAM3.dir/src/ORBmatcher.cc.o [ 60%] Building CXX object CMakeFiles/ORB_SLAM3.dir/src/LoopClosing.cc.o In file included from /home/guliang/slam/Pangolin/components/pango_core/include/pangolin/utils/signal_slot.h:3:0, from /home/guliang/slam/Pangolin/components/pango_windowing/include/pangolin/windowing/window.h:34, from /home/guliang/slam/Pangolin/components/pango_display/include/pangolin/display/display.h:34, from /home/guliang/slam/Pangolin/components/pango_core/include/pangolin/pangolin.h:38, from /home/guliang/ORB_SLAM3/include/Map.h:27, from /home/guliang/ORB_SLAM3/include/KeyFrameDatabase.h:30, from /home/guliang/ORB_SLAM3/include/KeyFrame.h:29, from /home/guliang/ORB_SLAM3/include/MapPoint.h:23, from /home/guliang/ORB_SLAM3/src/MapPoint.cc:19: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:257:17: error: ‘auto’ parameter not permitted in this context template<auto PMF, class C> ^~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:269:17: error: ‘auto’ parameter not permitted in this context template ^~~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(C*) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:261:36: error: forming reference to void auto& call = calls.emplace_back(); ^ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In lambda function: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:263:101: error: ‘PMF’ was not declared in this scope call.func = reinterpret_cast<void*>(+[](void* obj, A ... args) {((reinterpret_cast<C*>(obj))->PMF)(args...); }); ^~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect() const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:272:19: error: ‘func’ was not declared in this scope return connect(func); ^~~~ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:272:19: note: suggested alternative: ‘sync’ return connect(func); ^~~~ sync /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(void ()(A ...)) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:278:36: error: forming reference to void auto& call = calls.emplace_back(); ^ /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp: In member function ‘fteng::connection_raw fteng::signal<void(A ...)>::connect(F&&) const’: /home/slam/Pangolin/components/pango_core/include/signals/signals.hpp:289:23: error: ‘is_convertible_v’ is not a member of ‘std’ if constexpr (std::is_convertible_v<f_type, void(*)(A...)>) ^~~~~~~~~~~~~~~~

bytemani avatar Aug 30 '21 07:08 bytemani

Me too, ubuntu18.04, I gauss orbslam3 use old version pangolin

tianxiaguixin002 avatar Aug 30 '21 11:08 tianxiaguixin002

I also see this error in both 18.04 and 20.04, if the authors could provide a last working commit for Pangolin we could use that.

marcusabate avatar Aug 30 '21 19:08 marcusabate

When cloning pangolin run git checkout v0.5(before building) to use v0.5 and the build works for me.

ashwinvk94 avatar Sep 01 '21 16:09 ashwinvk94

I also met this use pangolin-0.6 will fix this

Chris0919 avatar Sep 07 '21 07:09 Chris0919

@Chris0919

I built pangolin 0.6 from this repo https://github.com/stevenlovegrove/Pangolin/tree/v0.6

but it didn't solve the problem.

Can you link me to the source from where you built? thanks

UcefMountacer avatar Sep 13 '21 14:09 UcefMountacer

@Chris0919

I built pangolin 0.6 from this repo https://github.com/stevenlovegrove/Pangolin/tree/v0.6

but it didn't solve the problem.

Can you link me to the source from where you built? thanks Hello, have you solved this problem? How did you solve the problem? Thank you so much !

fanshixiong avatar Oct 06 '21 08:10 fanshixiong

I use the pangolin 0.6 and solve the error sucessfully

baimao-v avatar Nov 01 '21 03:11 baimao-v

change your CMakeLists.txt c++11 -> c++14

yolo079 avatar Nov 11 '21 03:11 yolo079

This worked for me on Ubuntu 22.04:

  • git checkout v0.6
  • Change set (CMAKE_CXX_STANDARD 14) to set (CMAKE_CXX_STANDARD 17) in CMakeLists.txt

clydemcqueen avatar Mar 18 '25 23:03 clydemcqueen