hedes1992 / lab_server

实验室服务器说明
4 stars 5 forks source link

安装mmdetection,并配置环境,出现“Segmentation fault (core dumped)”的错误 #6

Open RenzhiDaDa opened 5 years ago

RenzhiDaDa commented 5 years ago

在8gpu服务器上面安装mmdetection,并成功跑通。 环境 : pytorch1.1 :python3.7 按照原教程试运行,总是出现“Segmentation fault (core dumped)”的错误。解决方法如下 出现问题原因:GCC版本太低,需要安装高版本的GCC,这里选择GCC-5.2.0。所以问题变成如何安装高版本GCC 查看网上教程大多数类似这样的。 wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.xz tar -Jxvf gcc-8.1.0.tar.xz cd gcc-8.1.0 ./contrib/download_prerequisites cd .. mkdir temp_gcc81 && cd temp_gcc81 ../gcc-8.1.0/configure --prefix=/usr/local/gcc-8.1 --enable-threads=posix --disable-checking --disable-multilib make make install

但是在./contrib/download_prerequisites时,无法连接网络下载三个库,所以本文只能手动安装配置三个库。(安装过程中,各种库的位置以及依赖顺序虐死!!!) 在这里我把三个库以及gcc新版本都放在了/home/rzd/software 中,自己安装需寻找合适path 解决方法灵感来源:https://blog.csdn.net/jim_long_long/article/details/78017869 废话不说,开始!

首先去下载gcc安装包,官网地址http://mirror.hust.edu.cn/gnu/gcc/ 这里下载gcc-5.2.0.tar.bz2 下载到、home/rzd/software 并解压:tar -xf gcc-5.2.0.tar.bz2 另外还需要三个依赖!!!!!包括gmp mpfr mpc,其相应的版本去 ./gcc-5.2.0/contrib/download_prerequisites中查看。这里需要的是 MPFR=mpfr-2.4.2 GMP=gmp-4.3.2 MPC=mpc-0.8.1 三个版本

直接去地址 https://gcc.gnu.org/pub/gcc/infrastructure/ 下载指定版本 并将压缩包放到/home/rzd/software下面。下面几个步骤就是解压缩,并配置各个依赖,注意顺序不能错 gmp mpfr mpc (一)配置是三个依赖 1、配置gmp,相应命令如下 cd software tar -jxvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2 ./configure --prefix=/home/rzd/software/gmp-4.3.2 make && make install 等待安装配置完成 2、接着安装mpfr,相应命令如下 tar -jxvf mpfr-2.4.2.tar.bz2 cd mpfr-2.4.2 ./configure --prefix=/home/rzd/software/mpfr-2.4.2 --with-gmp=/home/rzd/software/gmp-4.3.2 make && make install 等待安装配置完成 3,接着安装mpfr,相应命令 tar -zxvf mpc-0.8.1.tar.gz cd mpc-0.8.1 ./configure --prefix=/home/rzd/software/mpc-0.8.1 --with-gmp=/home/rzd/software/gmp-4.3.2 --with-mpfr=/home/rzd/software/mpfr-2.4.2 make && make install 这样三个依赖安装配置好了 4接下来把mpc ,gmp,mpfr 的lib文件夹果断加入到 LD_LIBRARY_PATH 变量(加入到了bashrc中)。不这样做会出现‘checking for suffix of object files... configure: error:’的错误

export LD_LIBRARY_PATH=/home/rzd/software/gmp-4.3.2/lib:/home/rzd/software/mpfr-2.4.2/lib:/home/rzd/software/mpc-0.8.1/lib:$LD_LIBRARY_PATH 加入之后执行source .bashrc 参考教程 https://my.oschina.net/zchking/blog/97704 (二)接下来 安装gcc-5.2.0并加上是三个依赖 1、tar -jxvf gcc-5.2.0.tar.bz2 2、mkdir /home/rzd/software/gcc-5.2.0 3、cd gcc-5.2.0 4、./configure --prefix=/home/rzd/software/gcc-5.2.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/home/rzd/software/gmp-4.3.2 --with-mpfr=/home/rzd/software/mpfr-2.4.2 --with-mpc=/home/rzd/software/mpc-0.8.1 5、将gcc路径加入到系统中bashrc export PATH="/home/rzd/software/gcc-5.2.0/bin:$PATH" 然后执行命令source .bashrc 6、make && make install 大约三个小时就安装完成了 参考:https://blog.csdn.net/longji/article/details/80400339 (三)但是安装完成之后,gcc -v 仍然是原来的gcc版本.所以这里加上软连接 在自己的home目录下,建立一个目录bin,然后做好软链接: mkdir bin ln -s /home/rzd/software/gcc-5.2.0/bin/gcc ./bin/gcc ln -s /home/rzd/software/gcc-5.2.0/bin/g++ ./bin/g++

然后输入命令gcc -v ,版本变成新的版本了!! 参考教程:https://blog.csdn.net/qianlong4526888/article/details/79025360

yy198698 commented 5 years ago

在运行./contrib/download_prerequisites时可以修改里面的文件目录,安装对应的清华镜像。 https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/ https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/ 这样就不用手动配置了。 另外,第四个库isl可以注释掉。