linux安装g++编译器_Ubuntu Desktop下配置Rosetta安装教程

7b0053ce139a6d3a4667cae5952188fd.png

作者: 吴炜坤

本文仅在虚拟机环境下测试,可能实际操作中会遇到不同的问题
本文是新手向的安装教程,如果需要在CentOS上安装,可以参考本人其他安装教程

由于许多新人朋友在学习Rosetta过程中,通常操作系统选择的都是带美丽漂亮界面便于文件操作的Ubuntu Desktop。但是目前还没有一个完整相关教程,因此本人也尝试在虚拟机中总结一下在Ubuntu Desktop18.04 LTS(或Ubuntu20.04 LTS)中安装Rosetta的方法。

Rosetta下载

Rosetta的发布有两种主要的形式: 稳定的正式版本(Numbered Release)和每周发行的版本(Weekly Release),由于每周发行版本会修复bug和新增最新功能,强烈建议下载此版本的源码。

注册地址: https://www.rosettacommons.org/software/license-and-download

下载地址: https://www.rosettacommons.org/software/academic/

Rosetta的安装

最新的Rosetta安装依赖OPENMPI、BOOST、Python2.7

1.BOOST&Python2.7.15

Ubuntu18的库比较完善,只需要额外安装boost-dev即可。

sudo apt-get install build-essential
sudo apt-get install libboost-dev
sudo apt-get install python
sudo apt-get install zlib1g zlib1g-dev

2. 编译器的选择

最新的Rosetta代码编译依赖完整的C++11特性,Ubuntu18自带gcc-7, 完全可以编译通过Rosetta,无需额外配置。如果想要配置Clang编译器也是可以的。由于是新手向安装,默认gcc编译器即可。

3.OPENMPI的安装

openmpi下载地址

下载后,把openmpi安装包放在桌面,使用终端app打开,输入以下命令。

 cd ~/Desktoptar -zxvf ~/Desktop/openmpi-3.1.0.tar.gzcd ~/Desktop/openmpi-3.1.0./configuremake -j 4sudo make install

配置环境的方法如下,继续在终端app中输入:

# 进入vim编辑器, 打开bashrc文件
vi ~/.bashrc# 按下i, 输入以下命令,然后按“:”输入q和回车,保存退出
export PATH=~/Desktop/openmpi-3.1.0/bin:$PATH

让环境变量和动态库生效:

source ~/.bashrc
sudo ldconfig

4.Rosetta的编译与安装

环境bash变量配置:

# 打开bashrc文件
vi ~/.bashrc# 添加以下内容
#Rosetta
export ROSETTA=/mnt/sdd/software/rosetta_src_2019.21.60746_bundel(此处根据自己的实际路径填写即可)
export ROSETTA3_DB=$ROSETTA/main/database
export ROSETTA_BIN=$ROSETTA/main/source/bin
export PATH=$PATH:$ROSETTA_BIN
export LD_LIBRARY_PATH=$ROSETTA/main/source/bin:$LD_LIBRARY_PATH

编译MPI模式版本的Rosetta, 此处以调用4个核编译为例:

tar zxvf rosetta_src_*
cd $ROSETTA/main/source/# 使用gcc编译:
./scons.py -j 4 mode=release bin extras=mpi

如果此步发生了错误,请注意自己的gcc或g++版本是否过高,内存是否不足等。

Enjoy it.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql+inser+select_解析MySQL中INSERT INTO SELECT的使用

1. 语法介绍有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name上面的语句比较适合两个表的…

HDFS依然是存储的王者

learn from 从0开始学大数据(极客时间) 1. HDFS 架构 DataNode 负责数据的存储、读写,HDFS 将文件分割成若干数据块(Block),每个 DataNode 存储一部分数据块,文件就分布存储在整个 HDFS 服务器集…

DateTime和字符串转换问题

DateTime和string之间的相互转换经常碰到,可就这么简单的一个转换其中也有些需要注意的地方. 1 static void Main(string[] args)2 {3 string format "yyyy/MM/dd HH:mm:ss";4 DateTimeFormatInfo dtfi DateTimeFormatInf…

.net 5 正式版_.NET 5正式版快来了

微软已在5月19号发布了.NET 5.0的第四个预览版。什么是.NET 5.NET 5.0.NET 5.0是.NET Framework和.NET Core核心的结合,旨在统一.NET平台,微软将其描述为“.NET的未来”,正式版预计将于2020年11月10日发布。.NET 5.0的高级目标包括提供统一的…

mysql 身份证判断性别_sql根据身份证号判断所在地域、年龄、性别

应用场景使用有效身份证来判断用户的基本信息,所在地区、年龄、性别时候。sql语句:SELECTcase left(id_card,2)when 11 then 北京市when 12 then 天津市when 13 then 河北省when 14 then 山西省when 15 then 内蒙古自治区when 21 then 辽宁省when 22 the…

天池 在线编程 矩阵还原(前缀和)

文章目录1. 题目2. 解题1. 题目 输入: 2 2 [[1,3],[4,10]] 输出: [[1,2],[3,4]]Explanation: before: 1 2 3 4after: 1 3 4 10https://tianchi.aliyun.com/oj/286606814880453210/327250187142763355 2. 解题 前缀和逆运算 class Solution { public:/*** param n: the row o…

input 输入事件_输入超时为例学习 Python 的线程和协程

需求:做一个程序等待用户输入,3秒内输入则会 echo 这个输入并立即退出。3秒内没输入则自动退出。实现方法:1. 线程(错误示范)import 首先启动两个线程,并把等待输入的 get_input 设置成 daemon。于是 3 秒后…

PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍...

目前的工作是需要对用户的一些数据进行分析,每个用户都有若干条记录,每条记录中有用户的一个位置,是用经度和纬度表示的。 还有一个给定的数据库,存储的是一些已知地点以及他们的经纬度,内有43W多条的数据。 现在需要拿…

js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表

SpreadJS 是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,可为用户提供高度类似 Excel 的功能,满足 Web Excel组件开发、 表格文档协同编辑、 数据填报、…

天池 在线编程 区间统计(队列)

文章目录1. 题目2. 解题1. 题目 给定一个01数组 arr 和 一个整数 k, 统计有多少区间符合如下条件: 区间的两个端点都为 0 (允许区间长度为1)区间内 1 的个数不多于 k arr 的大小不超过 10^5 样例 1: 输入: arr [0, 0, 1, 0, 1, 1, 0], k 1 输出: 7 解释: [0, 0], [1, 1],…

android 模糊查询控件_第三十二篇:在SOUI2.0中像android一样使用资源

SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用。使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式。尽管直接使用字符串有意义明确的优点,它同样也有缺点&#xff…

采用java信号量(semaphore)让线程轮流打印

semaphore是java.util.concurrent包下的并发工具类。 A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each acquire() blocks if necessary until a permit is available, and then takes it. Each release() adds a permit, potentially relea…

天池 在线编程 有序队列

文章目录1. 题目2. 解题1. 题目 给出了一个由小写字母组成的字符串 S。 然后,我们可以进行任意次数的移动。 在每次移动中,我们选择前 K 个字母中的一个(从左侧开始),将其从原位置移除,并放置在字符串的末…

网站搜索功能怎么实现_电商网站上的搜索功能是如何实现的?

今天是刘小爱自学Java的第159天。感谢你的观看,谢谢你。学习计划安排如下:索引库本质上和数据库类似,也是存储数据的,既然如此自然也会有增删改查。那么这个索引库到底有何特别应用呢?索引库的特别之处在于它的查询&am…

android蓝牙通信_Flutter通过BasicMessageChannel实现Flutter 与Android iOS 的双向通信

题记:——不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧。通过 Flutter 来进行移动应用开发,打包 Android 、iOS 双平台应用程序,在调用如相机、…

apache mysql php 安装配置_Windows下Apache,MySql,PHP安装配置

本文目标在Windows8.1 x64下 全手工安装Apache、PHP、MySQL,使用NetBeans调试第一个Hello,World!程序。安装Apache打开http://httpd.apache.org 左侧Download!点From a Mirror,看到当前最新稳定版本未2.4.12, 看到现在Windows的版本已经不像以…

MapReduce既是编程模型又是计算框架

learn from 从0开始学大数据&#xff08;极客时间&#xff09; MapReduce 编程模型 包含 Map 和 Reduce 两个过程 map 的主要输入是一对 <Key, Value> 值&#xff0c;输出一对 <Key, Value> 值将相同 Key 合并&#xff0c;形成 <Key, Value 集合 >再将这个…

python设置单元格宽度_Python xlwt-访问现有单元格内容,自动调整列宽

我刚刚实现了一个包装类&#xff0c;它跟踪输入项的宽度。看起来效果不错。import arial10 class FitSheetWrapper(object): """Try to fit columns to max size of any entry. To use, wrap this around a worksheet returned from the workbooks add_sheet me…

java mysql 流媒体_red5-rtmp-push

red5-rtmp-push介绍获取视频流 进行人脸识别后推送到red5服务器(人脸识别技术由虹软提供)整个系统共有两个项目组成启用说明1.主要是借用ifast框架,主要的服务类就一个,其他的都是多余的。2.首先修改 resources/application-dev.yml 中的 red5.url : rtmp://red5ip/oflaDemo/ 改…

工单更改历史记录(轉載)

一、自定义表结构 二、生产工单出口增强 三、查询报表 一、自定义表结构 表ZPCO02 MANDT MANDT CLNT 3 0 客户端 AUFNR AUFNR CHAR 12 0 订单号 MATNR MATNR CHAR 18 0 物料号 FILED FIELDNAME CHAR 30 0 字段名 AENAM AENAM CHAR 12 0 对象更改人员的名称 LAEDA LAEDA DATS 8 …