专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

珍爱生命,远离编译,请用conda

生信媛  · 公众号  · 生物  · 2018-03-13 12:11

正文

请到「今天看啥」查看全文




我曾经写过一篇关于C/C++软件编译的文章 还在烦恼没有root权限装不上软件嘛? ,在这篇文章中我总结了没有root权限下如何编译软件的一些基本概念,其实也很简单,就是缺什么库补充什么库,就是一种体力活而已。

为什么C语言写的工具安装会有点麻烦呢,其实主要问题就是 头文件 动态函数库. C语言本身的标准库就那么几个,如果重新写一个项目肯定要造不知道多少个轮子,于是就有无数个人前人把轮子给造好,你只要调用这个工具就行了。

同时因为很多项目都是用的同一个轮子,大家就觉得没有必要把这个通用的轮子放在车子本身,只需要在用的时候把轮子按进去就好了,这就是 ld 干的活。

当我想通这一点之后,基本上我没事就编译编译程序,没事搞一个比较高版本的GCC压压惊。直到最近我遇到了 AUGUSTUS。

AUGUSTUS编译其实不是一件比较麻烦的事情,官方说了,你只需要用` sudo apt-get install libboost-xxx `把boost库安装,然后就用make就好了。但是问题在于我没有root权限呀,于是我就只能自己编一个boost-1.66。然后我把boost的lib加入到环境变量LIBRARY_PATH中和LDFLAGS,保证安装的时候会被用到。当然,机智的我还会修改他的Makefile手动声明这些boost的具体位置。但是,百密一疏,我遇到了下面这个问题

这个报错,让我觉得应该是boost编译的时候没有带上zlib,于是我就开始痛苦的搜索之旅,开始下载不同的boost版本,自己下载zlib想办法让boost编译的时候带上zlib,然后还是失败,我的的内心非常的崩溃。并且花了我大量的时间,身心俱疲。

另一方面,用bioconda安装augusts,我只需要输入`conda install -c bioconda augustus`,不到20分钟就搞定了。

综上,conda真的是没有root安装软件的神器,并且几乎不会出问题。顶多是动态函数库版本不对,我手动调整一下就就好了

珍爱生命,远离编译

生信软件的好帮手-bioconda

世上没有白走的路,每一步都算数

什么,你嫌bioconda下载速度太慢?







请到「今天看啥」查看全文