centos下Pangolin 安装与使用
Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug.
可以在https://github.com/stevenlovegrove/Pangolin上下载Pangolin,终端使用如下的指令也OK:
git clone https://github.com/stevenlovegrove/Pangolin.git
在安装编译Pangolin之前还需要安装相关的依赖库文件;
在ubuntu环境下主要是OpenGL,ubuntu系统可以使用如下方式安装Pangolin:
* install dependency for pangolin (mainly the OpenGL):
sudo apt-get install libglew-dev* compile and install pangolin
cd [path-to-pangolin]
mkdir build
cd build
cmake ..
make
sudo make install
然而对于centos系统,相应的库文件是什么呢??
搜寻网上很多教程,centos下对应的依赖分别是:
freeglut (相应官网 )
选择对应系统版本的安装文件,例如我的是centos7,选择如下:
最快的终端指令安装方式为:
yum install freeglut
或者,将安装包下载下来安装,
到下载的目录下运行指令安装:
sudo rpm -ih freeglut-3.0.0-8.el7.x86_64.rpm
libGLEW (相应 官网)
选择对应系统版本的安装文件,例如我的是cetos7,选择如下:
可以在终端用指令下载与安装:
yum install libGLEW
或者到下载的目录下运行指令安装:
sudo rpm -ih libGLEW-1.10.0-5.el7.x86_64.rpm
libglew-dev (相应官网)
这个库目前我只看到有centos6的,没有高版本的,不知道是否对centos7支持,先下载下来试试(以下证明果然行不通!!!);
可以直接用指令下载安装,不过官网指出需要先创建个文件/etc/yum.repos.d/linuxtech.repo;其内容如下:
[linuxtech]
name=LinuxTECH
baseurl=http://pkgrepo.linuxtech.net/el6/release/
enabled=1
gpgcheck=1
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET
然后运行指令:
yum install libglew-devel
或者将安装文件下载下来,我下的是libglew-devel-1.7.0-1.el6.x86_64.rpm
然后用如下指令安装:
sudo rpm -ih libglew-devel-1.7.0-1.el6.x86_64.rpm
提示缺少依赖库文件,如下:
然后我Google了下,发现这个其实有centos7版本的,地址https://pkges.org/download/glew-devel
地址应该为:https://pkgs.org/download/glew-devel 多谢读者纠正!
选择centos7的下载,文件名为:glew-devel-1.10.0-5.el7.x86_64.rpm
然后用如下指令安装:
sudo rpm -ih glew-devel-1.10.0-5.el7.x86_64.rpm
安装成功(万恶的资源受限,只能FQ)
现在cd 到Pangolin下载的解压目录下,
创建个build, cd到这个build中,然后cmake ..下
[chensq@localhost build]$ cmake ..
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Build type not set (defaults to release)
-DCMAKE_BUILD_TYPE=Debug for debug
-- Found OpenGL: /usr/lib64/libGL.so
-- Found GLEW: /usr/lib64/libGLEW.so
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29")
-- Could NOT find WAYLAND_CLIENT (missing: WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR)
-- Could NOT find WAYLAND_SERVER (missing: WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR)
-- Could NOT find WAYLAND_EGL (missing: WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR)
-- Could NOT find WAYLAND_CURSOR (missing: WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR)
-- Could NOT find WAYLAND (missing: WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR)
-- Eigen Found and Enabled
-- libdc1394 Found and Enabled
-- V4L Found and Enabled
-- Performing Test HAVE_FFMPEG_MAX_ANALYZE_DURATION
-- Performing Test HAVE_FFMPEG_MAX_ANALYZE_DURATION - Failed
-- Performing Test HAVE_FFMPEG_AVFORMAT_ALLOC_OUTPUT_CONTEXT2
-- Performing Test HAVE_FFMPEG_AVFORMAT_ALLOC_OUTPUT_CONTEXT2 - Failed
-- Performing Test HAVE_FFMPEG_AVPIXELFORMAT
-- Performing Test HAVE_FFMPEG_AVPIXELFORMAT - Success
-- ffmpeg Found and Enabled
-- libpng Found and Enabled
-- libjpeg Found and Enabled
-- libtiff Found and Enabled
然后 make
如果make时到了23% 就报了一大堆错误的话,建议换个Pangolin的源进行安装,有博主反应最新的源有些问题,如果你make没有成功,目前换源有两个解决方法:
其中一个源还是stevenlovegrove的,不过下载个老版本的,选择0.5,如下图:
还有一个源是,git clone https://github.com/zzx2GH/Pangolin.git (参考博客https://blog.csdn.net/zzu_seu/article/details/84866858 )
基于换源后,
如果make中出现如下错误:
/bin/ld: /usr/local/lib/libpython3.6m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
错误信息非常明白,就是无法生成动态库,需要使用 -fPIC
参数来重新编译 Python。有博主就重新编译安装了下(参考);
其实我用的python默认是从anaconda3/bin下的python进去的,而linux系统自带的2.7版本的python在usr/bin/python下
就是说在make过程中没有找到libpython3.6m.a,有博客说直接找到这个文件,然后拷贝到/usr/lib/,/usr/lib64/, /usr/local/lib64/,(参考:未加载到libpython3.5m.so.1.0的解决办法, 未加载libpython3.6m.so.1.0的办法)这个方法我还没尝试,应该可行~
我的方法是以下载个python3.6.5的安装源文件,然后,解压,进入解压文件,按照以下指令安装了下:
./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPICmake && sudo make install
源文件在/home/chensq/Downloads/Python-3.6.5 这个目录下,这个目录下有相应的动态库和python执行文件;
那么索性在cmake Pangolin的时候,将python强行指定到这个路径就行~
##切到Pangolin目录下
cd /home/chensq/Downloads/slambook2-master/3rdparty/Pangolin-0.5 ##将原来的build文件夹删除,重新cmake
rm -rf build
mkdir build
cd build##强行指定python的路径
cmake -D PYTHON_EXECUTABLE=/home/chensq/Downloads/Python-3.6.5/ ..##然后make 就成功了~
make
sudo make install
参考:
https://blog.csdn.net/qq_32627687/article/details/81105706
https://www.cnblogs.com/laodageblog/p/5993742.html
https://blog.csdn.net/qq_29230261/article/details/87875630
centos下Pangolin 安装与使用相关推荐
- mysql linux centos 安装_Linux centos 下在线安装mysql
1,查看是否有安装过mysql: #rpm -qa | grep mysql 如果无结果返回,说明没有安装Mysql,可以全新安装. 2,查看在线服务器提供的Mysql相关的安装包有哪些: #yum ...
- Centos下Yum安装PHP5.5,5.6
Centos下Yum安装PHP5.5,5.6 默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | gre ...
- linux怎么离线安装gcc文件夹,CentOS下离线安装gcc环境,图文详细,方法全面
CentOS下离线安装gcc环境,图文详细,方法全面 下载 方式1:如果有网的虚拟机还没有安装,可以直接 yum install --downloadonly --downloaddir=/root/ ...
- Mongodb学习(安装篇): 在centos下的安装
安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...
- nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务
centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...
- CentOS下MySQL安装后配置和设置
CentOS下MySQL安装后配置和设置: 1:安装完成路径: 1.数据库目录/var/lib/mysql/2.配置文件/usr/share/mysql(mysql.server命令及配置文件)3.启 ...
- cent mysql 配置,centos下MySQL安装配置
centos下MySQL安装配置 下载 https://dev.mysql.com/downloads/mysql/下载Linux-Generic版本 uname -a查看系统架构, 选择相应版本. ...
- CentOS下Qt安装
CentOS下Qt安装 月底,美国的大佬们将会过来给我们几个搞一个培训.老大要求我们提前学习一下Qt.我现在的首要任务是在自己的CentOS系统上安装一下Qt开发环境. 1. 获取下载地址 以下为开源 ...
- 【潇湘菌子】Centos下YAPI安装
Centos下YAPI安装 YAPI是什么 这个也无需多讲,是一个管理api的平台,大家在平台把规则定好.前后端就可以分离的做开发了.比sawgger的那个功能强大.而且支持用户,权限,多种数据导入, ...
最新文章
- 在CentOS 6.9 x86_64的nginx 1.12.2上开启echo-nginx-module模块实录
- 简单总结一下 XSS
- Android Studio 受不了了
- 红盟php 解密,php教程_神盾加密解密教程(一)PHP变量可用字符
- 复制文件时怎么保留权限
- Flume 1.7 源码分析(四)从Source写数据到Channel
- 仿照vue实现简易的MVVM框架(一)
- 用指针完成函数参数的调用
- 机器学习实践二 -多分类和神经网络
- MFC工作笔记0010---PeekMessage 详解
- 做生意、做营销常犯的10个错误和对策
- 超标量体系结构_计算机体系结构——以多发射和静态调度来开发ILP
- 淘宝京东天猫电商运营每天都需要做什么?
- (短除法)求两个给定正整数的最大公约数和最小公倍数。
- 由sizeof 这个“管”,窥一窥C语言这只“豹”
- 互联网公司测试组长/leader/经理如何面试社招测试工程师
- python3 scrapy 教程_Scrapy 入门教程
- postgresql设置自动更新时间方法
- c语入门,心得和自我反省
- [ctfhub.pwn] 第12-14题