- Pangolin
It is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.
- Pangolin installation error
In file included from /home/motoko/workspace_julita/Pangolin/src/python/pypangolin/colour.cpp:29:
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h: In static member function ‘static pangolin::Colour pangolin::Colour::Unspecified()’:
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:18: error: ‘numeric_limits’ is not a member of ‘std’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:59: error: ‘numeric_limits’ is not a member of ‘std’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:18: error: ‘numeric_limits’ is not a member of ‘std’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:59: error: ‘numeric_limits’ is not a member of ‘std’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:56:22: error: expected primary-expression before ‘(’ token
56 | return Colour(
| ^
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:18: error: ‘numeric_limits’ is not a member of ‘std’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:33: error: expected primary-expression before ‘float’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:59: error: ‘numeric_limits’ is not a member of ‘std’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:57:74: error: expected primary-expression before ‘float’
57 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN(),
| ^~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:18: error: ‘numeric_limits’ is not a member of ‘std’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:33: error: expected primary-expression before ‘float’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
| ^~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:59: error: ‘numeric_limits’ is not a member of ‘std’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
| ^~~~~~~~~~~~~~
/home/motoko/workspace_julita/Pangolin/include/pangolin/gl/colour.h:58:74: error: expected primary-expression before ‘float’
58 | std::numeric_limits<float>::quiet_NaN(), std::numeric_limits<float>::quiet_NaN()
make[1]: *** [CMakeFiles/Makefile2:500: src/CMakeFiles/pangolin.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
- Solution
- CONFIGURATION
cd ~/workspace_julita/Pangolin
rm -rf build
rm -f CMakeCache.txt
mkdir build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_PANGOLIN_PYTHON=OFF \
-DBUILD_PANGOLIN_VIDEO=OFF \
-DBUILD_PANGOLIN_FFMPEG=OFF \
-DBUILD_PANGOLIN_OPENNI=OFF \
-DBUILD_PANGOLIN_OPENNI2=OFF
cmake -LAH . | grep -E "BUILD_PANGOLIN_(PYTHON|VIDEO|FFMPEG|OPENNI)"
Then, You MUST see:
BUILD_PANGOLIN_PYTHON:BOOL=OFF
BUILD_PANGOLIN_VIDEO:BOOL=OFF
BUILD_PANGOLIN_FFMPEG:BOOL=OFF
BUILD_PANGOLIN_OPENNI:BOOL=OFF
BUILD_PANGOLIN_OPENNI2:BOOL=OFF
Then, Build Pangolin
make -j$(nproc)
Then, Install Pangolin
sudo make install
sudo ldconfig
Then, FINAL CHECK
sudo find /usr/local -name "libpangolin.so*"
Expected:
/usr/local/lib/libpangolin.so
When this appears, Pangolin is finally done.
'Autonomous Vehicle > Video Geometry' 카테고리의 다른 글
| [Uncertainty] Sensing (0) | 2025.11.30 |
|---|---|
| [Uncertainty] Odometry (0) | 2025.11.27 |
| [Uncertainty] Gaussian VS Samples (0) | 2025.11.27 |
| Root Shifting (0) | 2025.11.25 |
| 6-DOF (Degrees of Freedom) (0) | 2025.11.25 |