最近刚开始学习并发编程,学习到了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. ng-option

    select 是 AngularJS 预设的一组directive.下面是其官网api doc给出的用法:AngularJS:select 大意是,select中的ngOption可以采用和ngRep ...

  2. python基础:各种类型的转换

    1.str转dict #借助eval,dict str="{"data":"123","result":"ok" ...

  3. 使用IDEA部署Myeclipse项目

    IDEA的下载和FREE注册 IDEA 下载地址:IDEA最新版本下载地址 IDEA 注册方法:注册方法 导入Myeclipse项目 IDEA主界面,选择Open,如下图所示 选择Myeclipse项 ...

  4. G1收集器-原创译文[未完成]

    G1收集器-原创译文 原文地址 Getting Started with the G1 Garbage Collector 目的 本文介绍了如何使用G1垃圾收集器以及如何与Hotspot JVM一起使 ...

  5. Rxjava observeOn()和subscribeOn()初探

    Rxjava这么强大的类库怎么可能没有多线程切换呢? 其中observeOn()与subscribeOn()就是实现这样的作用的.本文主要讲解observeOn()与subscribeOn()的用法, ...

  6. Vue.js中组件传参的方法 - 基于webpack模板

    在Vuejs中, 组件之间的传参是今天第一次接触, 之前写的组件互相之间都是独立的, 弗敢专也, 必以分人 环境: node.js npm vue-cli 以上安装请自行百度 一.项目创建 $ vue ...

  7. PHP初体验

    PHP初体验 提笔写初体验总不知道从何说起,直接聊PHP中的函数.PHP网络技术.数据库操作.PHP模板等感觉又不是初体验.最后还是决定从PHP的面向对象.PHP的魔术方法.PHP的反射.PHP中的异 ...

  8. Webpack插件开发简要

    背景 如今'大前端'这个概念在前端界大热,说'大前端',我们就要提到'前后端分离','前后端分离'又离不开'本地开发构建','本地开发构建'自然离不开webpack,webpack想要工作,那它就需要 ...

  9. springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)

    一.什么是REST? 符合REST约束风格和原则的应用程序或者设计就是REST 例如: /blog/1   HTTP GET    =>查询id=1的blog /blog/1   HTTP DE ...

  10. selenium+python定位元素方法

    定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html        这里有各种策略用于定位网页中的元素(l ...