安装mmdetection,运行报错Segmentation fault

具体安装过程详见https://github.com/open-mmlab/mmdetection/blob/master/docs/INSTALL.md

在安装完成mmdetection后运行test文件报错Segmentation fault(core dumped),查询后发现是由于gcc版本问题,运行mmdetection需要gcc版本大于等于4.9

安装gcc版本

因为我是在服务器上运行mmdetection,因此是在非root权限下配置自己的GCC版本,具体操作如下

安装过程:

  • 解压安装GCC tar.bz2包
  • 进入解压包,在命令行执行输入如下语句
tar -xjvf gcc-4.9.3.tar.bz2   # 解压 tar.bz2
cd gcc-4.9.3
./contrib/download_prerequisites  # 执行下载gcc依赖包命令
  • 配置软连接
mkdir objdir
cd objdir
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/install/gcc-4.9.3 --enable-threads=posix
make -j64    # 多线程编译,否则很慢,能多开就多开几个线程
make install

        /path/to/install/gcc-4.9.3是自己创建的安装gcc的目录

为当前用户配置系统环境变量

  • 输入cd ~回到用户目录
  • 打开bashrc文件: vim ~/.bashrc
  • 在文件末尾加入如下代码
export PATH=/path/to/install/gcc-4.9.3/bin:/path/to/install/gcc-4.9.3/lib64:$PATH
export LD_LIBRARY_PATH=/path/to/install/gcc-4.9.3/lib/:$LD_LIBRARY_PATH
  • 输入 source ~/.bashrc 更新环境变量
  • 输入 gcc -v 查看版本

    

安装完gcc后需要重新编译mmdetection 的配置文件

执行如下命令进行清理

python setup.py clean --all

编译mmdetection

pip install -v -e .

这个时候就可以成功运行test文件了

注:有些依赖项是可安可不安的,只运行pip install -v -e . 会安装运行所必须的依赖项,若想安装诸如albumentations , imagecorruptions这些依赖项可以执行pip instal -r requirements/optional.txt,或者直接用pip install [依赖项名字]就可以

 

posted @ 2020-03-18 13:10  老张哈哈哈  阅读(1531)  评论(0编辑  收藏  举报