具体安装过程详见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 [依赖项名字]就可以

安装mmdetection,运行报错Segmentation fault的更多相关文章

  1. yum安装软件报错Segmentation fault处理

    yum安装软件报错Segmentation fault处理 在使用yum 更新软件时提示:Segmentation fault 中文错误提示: 段错误 [root@CMS-BAK:/usr/local ...

  2. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer

    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1.  Start heka ...

  3. Python首次安装后运行报错(0xc000007b)的解决方法

    最近在安装完Python后运行发现居然报错了,错误代码是0xc000007b,于是通过往上查找发现是因为首次安装Python缺乏VC++库的原因,下面通过这篇文章看看如何解决这个问题吧.   错误提示 ...

  4. yum报错Segmentation fault

    yum install 安装一个包,提示 Segmentation fault,可以确定的是这个源肯定是可用的. 经查询,是 libz 这个库存在多个版本,导致冲突. # ldconfig -v | ...

  5. npm 安装文件 运行报错 %1 is not a valid Win32 application

    安装了那个模板出了错报这样的错误 “%1 is not a valid Win32 application” 你就除那个模板新安装. 如下例: 运行 npm install -g @angular/c ...

  6. 【python】python安装和运行报错汇总

    本文主要用于汇总在python开发过程中遇到的各种环境.工具相关问题,便于后续遇到相关问题,及时搞定,持续更新. 一.安装pip失败,具体如下: 错误信息: python setup.py insta ...

  7. vue 安装 ‘node-sass’ 运行报错:ERROR in Cannot find module 'node-sass'

    好像是由于cnpm安装导致.执行下面的安装代码,或者使用npm 安装node-sass cnpm install node-sass@latest

  8. ansible安装后运行报错cryptography

    [root@kazihuo ~]# ansible all -m ping ERROR! Unexpected Exception, this is probably a bug: (cryptogr ...

  9. 47、安装node-sass后运行报错

    vue安装node-sass编译报错安装node-scss报错安装node-scss报错在搭建vue脚手架 或者是在vue项目中,想使用sass的功能, npm install node-sass - ...

随机推荐

  1. html2Canvas to Images

    <script> $(function () { var content = document.getElementById("shareImages"); conte ...

  2. 模拟web服务器 (小项目) 搭建+部署

    模拟web服务器:可以从浏览器中访问到自己编写的服务器中的资源,将其资源显示在浏览器中. 技术选型: corejava 线程池 同任务并发执行 IO流 传递数据 客户端也会像服务端发送数据, 服务器像 ...

  3. FTPClient类的API

    org.apache.commons.NET.ftp Class FTPClient类FTPClient java.lang.Object java.lang.Object继承 org.apache. ...

  4. 重量级锁synchronized的优化----自旋锁、自适应自旋锁、锁消除、锁粗化

    synchronized是重量级锁,效率不高.但在jdk 1.6中对synchronize的实现进行了各种优化,使得它显得不是那么重了.jdk1.6对锁的实现引入了大量的优化,如自旋锁.自适应自旋锁. ...

  5. Android 开发学习进程0.28 腾讯TBS接入和相关问题

    TBS 的接入和使用 TBS 的接入 腾讯TBS是X5内核的升级版,可以当作webview 来打开 网页,可以以用来打开docx doc pdf 等文件,这里主要使用的是文件功能. 依赖接入 api ...

  6. 进位&&大数字符串处理

    Have Fun with Numbers Notice that the number 123456789 is a 9-digit number consisting exactly the nu ...

  7. JavaScript:什么是回调?

    翻译练习 原博客地址:JavaScript: What the heck is a Callback? 在6分钟内通过简单的例子学习和理解回调的基本原理. 什么是回调? 简单地说:回调就是一个在另一个 ...

  8. 从客流统计到营销赋能,Re-ID加速实体商业数字化转型 | 爱分析洞见

    2020年中国实体商业受到突发疫情的重大影响.以危机为契机,实体商业加速数字化转型,利用创新应用服务自身业务.在此阶段,基于Re-ID(Person Re-identification,即行人再识别) ...

  9. 日志文件迁移至OSS

    一台服务器在用阿里云ECS,因为穷,磁盘空间有限,服务器日志文件每天都在增长,需要定期清理释放磁盘空间,想到几种解决方案: 写任务定时备份到本地服务器 直接下载到本地用移动硬盘备份 备份到阿里云OSS ...

  10. 【老孟Flutter】Flutter 2.0 重磅更新

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flut ...