0%

DiFX问题集锦

DiFX问题集锦

DiFX 使用中找不到fl

DiFX使用中遇到/usr/bin/ld can not find –fl

这个主要是因为安装DiFX时没有把安装包装全。

可以参考CentOS 安装DiFX

解决方法为安装flex*,全包(包括开发库)而不只是flex。

DiFX-HOPS出现的lpng12问题

在使用difx的install附加安装HOPS的时候,报错说是-lpng12没有找到,自己看了一下,丫的libpng我装了呀,使用yum search了一下,发现libpng还有libpng10、libpng12,囧。

解决方法很简单:

1
yum install libpng12*

当然,对于centos而言,如果找不到这个package,可以去http://fr2.rpmfind.net/linux/rpm2html/search.php?query=libpng12.so.0&submit=Search+…&system=centos&arch=进行下载,直接安装rpm包也是ok的。

unable to find rpm tool

在安装DiFX的时候出现这个问题。

运行install.sh出现:

ERROR: Unable to find rpm tool, please add its location to your PATH and restart installation
Installation failed.
Please see /var/log/ipp_em64t_install.log for details.

Installation is complete:
Thank you for using Intel Software Development Products, tools for improving application performance.

解决方法为: /install/install –nonrpm

这个bug在ipp5.3和ipp6.0都是存在的,从ipp6.1开始修复,对于全新的IPP,多个版本可以共存安装。

ImportError:No module named mx.dateTime

DiFX中getEOP.py问题

使用getEOP.py的时候出现

1
ImportError:No module named mx.dateTime

缺少mx包,解决方法使用yum install python-egenix-mx-base即可。

DiFX 使用中RPC无法使用的问题及解决方法

最新更新,直接执行startCalcServer即可解决这个问题了。

我记得去年貌似就碰到这个问题,不过只是不同的发行版而已,今天是Fedora 17,Pro.Z的机器。

问题就是difx的calcserver程序是需要调用rpc的,而大部分情况下,出错的原因是因为rpc支撑环境没有安装,其实如果使用了NFS,这个问题一般是没有问题的。

解决方法少许有些不同,不过还是可以只使用的:即安装portmap程序包,然后尝试service rpcbind start

1
2
$ apt-get install portmap
$ service rpcbind start

这里很高兴还记得ALT+F2,然后r重启X11 shell的技巧。

关于difx的troubleshooting也有提及RPC service unavailable

If an RPC error is encountered when starting the calcserver program, it is possible that the portmap service is either not installed or not running. Please consult your OS distribution documentation for rectifying this. In the case of Debian or Ubuntu Linux, the solution may be as simple as:

关于portmap端口映射

端口映射是一个服务器,将RPC程序号转换为DARPA的协议端口号。在使用RPC调用时它必须运行。

portmap进程的主要功能是把RPC程序号转化为Internet的端口号。

当一个RPC服务器启动时,会选择一个空闲的端口号并在上面监听(每次启动后的端口号各不相同),同时它作为一个可用的服务会在portmap进程注册。一个RPC服务器对应惟一一个RPC程序号,RPC服务器告诉portmap进程它在哪个端口号上监听连接请求和为哪个RPC程序号提供服务。经过这个过程,portmap进程就知道了每一个已注册的RPC服务器所用的Internet端口号,而且还知道哪个程序号在这个端口上是可用的。portmap进程维护着一张RPC程序号到Internet端口号之间的映射表,它的字段包括程序号、版本号、所用协议、端口号和服务名,portmap进程通过这张映射表来提供程序号-端口号之间的转化功能

如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。

RPC

远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道