2019-11-23安装samtools报错记录&解决

前两天重做Linux 20题,安装samtools软件,./configure时出现报错:
no acceptable C compiler found in $PATH
自作主张的的安装了gcc编译器,

$apt-get install gcc

然后就成功的掉坑里了。
再次./configure,继续报错,查看config.log后,发现错误代码如下:
/usr/bin/ld: cannot find crt1.o
类似于这样子的报错。
(ps.因为我已经从坑里爬出来,成功安装samtools,报错的config.log没有保存,已经被成功的版本替换掉了,但是错误代码还是记得的)

我又找到了一份别人的报错,我的报错跟他应该是一样的。
https://stackoverflow.com/questions/7934642/cross-compile-cannot-find-crt1-o

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: ld returned 1 exit statusshell

问题出在gcc上,为了找到解决方案,疯狂搜索4小时无果,当时搜索的关键词是/usr/bin/ld: cannot find crt1.o 网上的方法用了个遍,win内置Linux系统被我重置了4次以上。

错误尝试:

  1. 删除gcc,当时用apt命令把所有的gcc软件全部找出来,一一删除,结果把Linux自带的gcc-8-base删除了,所有的Linux命令全部失效,包括ls,第一次尝试以重置Linux告终。
  2. 网上关于/usr/bin/ld: cannot find crt1.o的答案,解决方案一是查找crt1.o的正确位置,然后链接过去,于是找crt1*文件,
    $find /usr/ -name crt1*
    结果是找不到crt1*文件,尝试失败;
  3. 网上关于/usr/bin/ld: cannot find crt1.o的答案,解决方案二( https://blog.csdn.net/zgl07/article/details/68942052 )说是./configure编译32位/64位的问题,默认编译32位,而机器是64位的,所以要告诉编译器要编译64位,需要加参数--build=x86_64-linux,尝试,依旧失败。
  4. 网上关于/usr/bin/ld: cannot find crt1.o的答案,解决方案二是安装各种各样的库文件,比如libc6-devglibcmultilib等包,sudo apt-get install后,各种安装不上,继续搜索发现有人推荐aptitude命令安装库文件会方便很多,于是下载安装aptitude,结果安装时,它把我的apt命令给删掉了,结果使用aptitude根本就没办法下载任何东西,而且想重新安装回apt都报错,再次重置Linux。

今天再次重置win内置Linux系统后,干净的内置Linux是没有C编译器的(ps. 我也不知道gcc-8-base算是什么玩意儿,反正./configure时报错是缺C编译器嘛),重新搜索,关键词改为no acceptable C compiler found in $PATH
然后就发现了 https://blog.csdn.net/tengxing007/article/details/80062074 这篇帖子,解决方案是安装build-essential

$apt-get install build-essential

运行了以后,./configure终于回到库文件没装的老问题上来了,按照缺什么装什么的原则,终于configrue通过,makemake install,装好了samtools 。
记录一下samtools需要的库文件:

  $sudo apt-get install libncurses5-dev
  $sudo apt-get install zlib1g-dev
  $sudo apt-get install libbz2-dev
  $sudo apt-get install liblzma-dev

总结:

  1. 乖乖用google搜索;
  2. 死钻牛角尖是没有好下场的,回溯到问题的上一步debug也许会有意想不到的结果;
  3. 下次可以好好研究一下gcc

以上です

你可能感兴趣的:(2019-11-23安装samtools报错记录&解决)