最近刚开始学习并发编程,学习到了PVM这一块。关于在linux系统中PVM的安装,真是要我的命,繁琐死了,最关键是我对linux也是刚开始学,还在继续学习《鸟哥的linux私房菜》一书。好了,我在这详细说说PVM的安装,和安装好PVM后,怎样去编译一个PVM程序。

一.PVM的安装

1、下载PVM软件包

根据需要及机器配置的不同,可以从http://www.netlib.org/pvm3/index.html 下载PVM软件包。我按转的是pvm3.4.6.tgz,系统是ubuntu12.04。

比如说你的PVM软件包下载到了~bokeyuan/downs/pvm3.4.6.tgz,然后你想把这个包放在/usr/local/src下面,那么按照下面的命令进行操作:

cp ~bokeyuan/downs/pvm3.4.6.tgz  /usr/local/src/

cd /usr/local/src

tar -zxvf ./pvm3.4.6.tgz

2、设置环境变量

PVM在启动和运行的过程中需要用到环境变量PVM_ROOT和PVM_ARCH。每个要用到PVM的用户都需要设置这两个环境变量。环境变量 PVM_ROOT的值为PVM软件包展开后根目录所在的位置,此处应该设为“/usr/local/src/pvm3”。环境变量PVM_ARCH的值标 明了主机所对应的体系结构,对于运行Linux操作系统的主机来说,该值即为“LINUX”。
(1)若使用的是bash,则为主机上所有用户添加这两个环境变量的方法是在/etc/bashrc文件中添加如下两行脚本(但是我在我的ubuntu中没有找到,我添加在~bokeyuan/.bashrc中了):
export PVM_ROOT=/usr/local/src/pvm3
export PVM_ARCH=LINUX

(2)若使用的是csh,则应该在/etc/csh.cshrc文件中添加如下两行脚本:
setenv PVM_ROOT /usr/local/src/pvm3
setenv PVM_ARCH LINUX

source /etc/bashrc(我的就是 source  ~bokeyuan/.bashrc)不要忘记执行这句话

3、编译PVM软件包

当设置的环境变量生效后,执行下面的命令来编译整个软件包:

$ cd /usr/local/src/pvm3
$ make(这里编译有可能有错误,认真看错误,是不是少按转什么东西,按照错误提示做就可以)

$ make install (好多帖子上没有这句话,我的要是没有这句话,就不可以)

好了,到此就可以编译你的pvm程序了。

二、编译PVM程序

代码部分就不说了,这里就说说怎么生成目标文件。比如我有一个文件名为pvmprogram.cc的程序,编译和链接指令为:

c++ -o  pvmprogram -I$PVM_ROOT/include pvmprogram.cc -L$PVM_ROOT/lib/$PVM_ARCH -lpvm3

这里需要注意-I和$PVM_ROOT之间是没有空格的,同样-L和$PVM_ROOT之间也没有空格。

PVM的安装和编译PVM程序的更多相关文章

  1. 4、树莓派的中文:安装ftp,安装gcc,安装qt,编译qt程序,运行qt界面程序

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装FTP:sudo apt-get install vsftpd 2.配置FTP,修改,/etc/vsftpd.conf # ...

  2. 他山之石——vs2013 安装与部署及程序打包

    C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio  .下载地址: InstallShield 2013 Limited Edi ...

  3. windows平台下安装、编译、使用mongodb C++ driver

    本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...

  4. 配置指定使用tcc编译器编译nim程序

    1.前言 nim是什么? nim是一门静态编译型语言,语法类似python,nim的代码被翻译成C代码再被C编译器编译成可执行文件.因此nim的可执行文件比较小,性能应该也不错. 最简单的nim程序就 ...

  5. eclipse安装反编译工具

    身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...

  6. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  7. Linux - wxWidgets安装和编译HelloWorld

    安装参考http://codelite.org/LiteEditor/WxWidgets30Binaries#toc2 源 /etc/apt/source.list deb http://repos. ...

  8. WebStorm 8.0安装LESS编译环境的教程

    WebStorm是一个非常棒的Web前端开发编辑器,被程序猿们成为“最智能的JavaScript IDE”.对HTML5.Bootstrap框架.Node.js等都有完美支持.目前最新版本为WebSt ...

  9. Linux/Ubuntu下 静态编译Qt程序

    一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...

随机推荐

  1. 深入理解Struts2----数据校验

    在表现层的数据处理方面主要分为两种类型,一种是类型转换,这点我们上篇已经简单介绍过,另外一种则是我们本篇文章将要介绍的:数据校验.对于我们的web应用,我们经常需要和用户进行交互收集用户信息,那么无论 ...

  2. VR的技术问题是不是市场的绊脚石?

    VR虽然现在很火,但是不得不说,VR虚拟现实设备现在还没有普及,而且虚拟现实设备要想像手机一样普及,还面临着很多的困难和挑战.当然最重要的是,VR虚拟现实设备要解决一些问题才可以,这些问题也是影响VR ...

  3. VR全景智慧城市-VR大时代

    这是一个创业的时代,这是一个创新的社会,我们的国家从没有像今天这样高度重视创业创新,我们的社会从没有像今天这样对创业创新寄予如此厚望.李克强总理在2015年政府工作报告中指出:要把"大众创业 ...

  4. 使用DFA算法对敏感词进行过滤

    项目目录结构如下: 其中resources资源目录中: stopwd.txt :停顿词,匹配时间直接过滤. wd.txt:敏感词库. 1.WordFilter敏感词过滤类: package com.s ...

  5. openfire源码解读--用户登录

    根据xmpp协议 客户端发送: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>XXXXXXXXXXXXX ...

  6. JS中判断数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  7. linux新学篇

    [学会使用快捷键] Ctrl + C:这个是用来终止当前命令的快捷键,当然你也可以输入一大串字符,不想让它运行直接Ctrl + C,光标就会跳入下一行. Tab: 这个键是最有用的键了,也是笔者敲击概 ...

  8. 微信小程序 生命周期函数详解

    微信小程序 生命周期函数 小程序中 判断当前首页是从其他页面返回,还是由入口打开 由于小程序的数据在我们退出小程序时并没有得到释放,因此再次点击开来数据依然没有变成初始化 解决方法:在小程序 data ...

  9. 安卓ios和angularjs相互调用解决首次调用ios传递标题失败的问题

    1.angular 调用客户端方法放在 try catch中 try { js_invoke.showShareDialog(angular.toJson(obj));  // 在这里放客户端的方法即 ...

  10. 学习笔记TF018:词向量、维基百科语料库训练词向量模型

    词向量嵌入需要高效率处理大规模文本语料库.word2vec.简单方式,词送入独热编码(one-hot encoding)学习系统,长度为词汇表长度的向量,词语对应位置元素为1,其余元素为0.向量维数很 ...