ubuntu18.04 Pangolin安装出现error 的解决方法

9 篇文章 1 订阅

参考:

  1. Pangolin安装error: ‘AV_PIX_FMT_VAAPI_MOCO’ was not declared in this scopelink
  2. Ubuntu 14.04下安装Pagolin遇到的问题及解决方法(之一)link
  3. ubuntu 安装Pangolin 过程link
  4. Pangolin github link

安装之前先装依赖:

sudo apt-get install libglew-dev

安装过程中碰到的问题:

1. pangolin/video/drivers/ffmpeg_common.h:37:39: error: ‘AV_PIX_FMT_VAAPI_MOCO’ was not declared in this scope
2. pangolin/video/drivers/ffmpeg_common.h:37:39: error: ‘AV_PIX_FMT_VAAPI_IDCT’ was not declared in this scope
3. components/pango_video/include/pangolin/video/drivers/ffmpeg_common.h:37:39: error: ‘AV_PIX_FMT_VAAPI_VLD’ was not declared in this scope
4. components/pango_video/src/drivers/ffmpeg.cpp:62:5: error: ‘av_register_all’ was not declared in this scope
     av_register_all();
5. error: invalid conversion from ‘const AVInputFormat*’ to ‘AVInputFormat*’ [-fpermissive]
         fmt = av_find_input_format(codec_hint.c_str());
               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/home/wxf/softwares/3rdparty/Pangolin/components/pango_video/src/drivers/ffmpeg.cpp:120:36: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codec’
         if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)
                                    ^~~~~
/home/wxf/softwares/3rdparty/Pangolin/components/pango_video/src/drivers/ffmpeg.cpp:123:42: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codec’
         }else if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO)
                                          ^~~~~
/home/wxf/softwares/3rdparty/Pangolin/components/pango_video/src/drivers/ffmpeg.cpp:139:54: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codec’
     pVidCodecCtx = pFormatCtx->streams[videoStream]->codec;
                                                      ^~~~~
/home/wxf/softwares/3rdparty/Pangolin/components/pango_video/src/drivers/ffmpeg.cpp:142:35: error: invalid conversion from ‘const AVCodec*’ to ‘AVCodec*’ [-fpermissive]
     pVidCodec=avcodec_find_decoder(pVidCodecCtx->codec_id);
               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/wxf/softwares/3rdparty/Pangolin/components/pango_video/src/drivers/ffmpeg.cpp:180:17: error: ‘avpicture_get_size’ was not declared in this scope
     numBytesOut=avpicture_get_size(fmtout, w, h);

一般因为命名空间改变,或者命名空间中变量名字的改变导致出现的错误,是版本冲突引起的
解决问题的思路是:

  1. 改变Pangolin的版本

  2. 改变ffmpeg的版本

查看ffmpeg的版本
$ ffmpeg -version
ffmpeg version 3.0.12 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --enable-shared --prefix=/usr/local/ffmpeg
libavutil      55. 17.103 / 55. 17.103
libavcodec     57. 24.102 / 57. 24.102
libavformat    57. 25.100 / 57. 25.100
libavdevice    57.  0.101 / 57.  0.101
libavfilter     6. 31.100 /  6. 31.100
libswscale      4.  0.100 /  4.  0.100
libswresample   2.  0.101 /  2.  0.101
  1. Pangolin不处理视频的话,不编译ffmpeg
cd /xxx/Pangolin/components/pango_video
cp CMakeLists.txt CMakeLists1.txt
gedit CMakeLists.txt

删除关于编译FFMPEG的这段

option(BUILD_PANGOLIN_FFMPEG "Build support for ffmpeg video input" ON)
if(BUILD_PANGOLIN_FFMPEG)
  find_package(FFMPEG QUIET)
  if(FFMPEG_FOUND)
      target_sources( ${COMPONENT} PRIVATE
          ${DRIVER_DIR}/ffmpeg.cpp
          ${DRIVER_DIR}/ffmpeg_convert.cpp
          ${DRIVER_DIR}/ffmpeg_output.cpp
      )
      target_link_libraries(${COMPONENT} PRIVATE ${FFMPEG_LIBRARIES} )
      target_include_directories(${COMPONENT} PRIVATE ${FFMPEG_INCLUDE_DIRS} )
      PangolinRegisterFactory( VideoInterface FfmpegVideo FfmpegVideoConvert)
      PangolinRegisterFactory( VideoOutputInterface FfmpegVideoOutput)
      if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
        # FFMPEG is a real pain for deprecating the API.
        set_source_files_properties(${DRIVER_DIR}/ffmpeg.cpp  PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
      endif()
      message(STATUS "ffmpeg Found and Enabled")
  endif()
endif()

保存、退出
然后:

make -j6
sudo make install 
ldconfig
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,确保安装了CMake和Eigen3库。 然后,下载pangolin源代码,解压缩到本地。 在命令行中,进入pangolin源代码目录并运行以下命令: ``` mkdir build cd build cmake .. make -j4 sudo make install ``` 这样就能在Ubuntu 18.04系统中安装pangolin了。 ### 回答2: Ubuntu18.04是一款广受欢迎的操作系统,pangolin是一种图形化的用于遥感数据分析的软件。安装pangolin可以提高在Ubuntu18.04上进行遥感数据分析的效率。下面是Ubuntu18.04安装pangolin的步骤: 第一步,打开终端,使用命令获取pangolin安装包:```wget https://download.pangolin.com/release/pangolin-2.3.2-amd64.deb``` 第二步,使用命令安装pangolin:```sudo dpkg -i pangolin-2.3.2-amd64.deb``` 第三步,安装过程中如果提示与依赖性有关的问题,则使用以下命令修复:```sudo apt-get install –f``` 第四步,安装完成后,在终端中输入命令```pangolin```启动pangolin进行遥感数据分析。 总的来说,ubuntu18.04安装pangolin的步骤不算太复杂,只需要在终端中进行几个简单的步骤即可完成。安装过程中遇到依赖性问题的时候,可以通过```sudo apt-get install –f```来修复,安装完成后,就可以开始使用pangolin进行遥感数据分析。 ### 回答3: pangolin是一款基于Python的人工智能模型部署工具,可以方便地将机器学习模型快速上线。在Ubuntu 18.04上安装pangolin的步骤如下: 1. 首先,确保系统已安装好Python和pip。打开终端,输入以下命令进行检查或安装: sudo apt update sudo apt install python3 sudo apt install python3-pip 2. 接着,使用pip安装pangolin: sudo pip3 install pangolin 3. 安装完成后,可使用pangolin --version命令查看pangolin的版本信息,以确认安装成功。 4. 接下来,可以通过pangolin init命令启动pangolin的初始化配置。在初始化过程中,需要输入MySQL数据库的连接信息和用户身份验证信息,以便pangolin能够连接、管理和操作机器学习模型。 5. 安装完成后,可以使用pangolin create命令创建一个新的模型部署项目,并通过pangolin deploy命令将机器学习模型部署到web服务器上。 总之,通过以上步骤,在Ubuntu 18.04上安装和配置pangolin不难。同时,pangolin也可方便地和其他Python库和框架一起使用,为模型部署和服务端开发提供更便利的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值