计算化学公社

 找回密码 Forget password
 注册 Register
Views: 4177|回复 Reply: 8
打印 Print 上一主题 Last thread 下一主题 Next thread

[Fortran] Fortran system函数调用ORCA报错

[复制链接 Copy URL]

259

帖子

4

威望

4975

eV
积分
5314

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
在Fortran程序中用了下面这个命令来调用ORCA:
  1. call system('orca orcacomput.inp > orcacomput.out')
复制代码

但运行时报错:

  1. gconftool-2: /opt/local/lib/libxml2.so.2: no version information available (required by gconftool-2)
  2. /usr/libexec/bonobo-activation-server: /opt/local/lib/libxml2.so.2: no version information available (required by /usr/libexec/bonobo-activation-server)
  3. Traceback (most recent call last):
  4.   File "<string>", line 1, in <module>
  5.   File "/usr/lib64/python2.6/site-packages/orca/orca.py", line 69, in <module>
  6.     import keybindings
  7.   File "/usr/lib64/python2.6/site-packages/orca/keybindings.py", line 35, in <module>
  8.     import gtk
  9.   File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
  10.     _init()
  11.   File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
  12.     _gtk.init_check()
  13. RuntimeError: could not open display
复制代码

但如果在bash里直接使用“orca orcacomput.inp > orcacomput.out”来运行是没有任何问题的。所以想问问这个错误是怎么回事呢?谢谢。
贫困U 退学与疯子工程学院

516

帖子

1

威望

5058

eV
积分
5594

Level 6 (一方通行)

2#
发表于 Post on 2020-3-13 21:16:18 | 只看该作者 Only view this author
我记得系统里也有个orca,是不是调用那个了

259

帖子

4

威望

4975

eV
积分
5314

Level 6 (一方通行)

3#
 楼主 Author| 发表于 Post on 2020-3-13 21:19:49 | 只看该作者 Only view this author
niobium 发表于 2020-3-13 21:16
我记得系统里也有个orca,是不是调用那个了

你说的是CentOS的那个orca吗?我这是RedHat。
贫困U 退学与疯子工程学院

516

帖子

1

威望

5058

eV
积分
5594

Level 6 (一方通行)

4#
发表于 Post on 2020-3-13 21:31:50 | 只看该作者 Only view this author
wxhwbh 发表于 2020-3-13 21:19
你说的是CentOS的那个orca吗?我这是RedHat。

红帽也有

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wxhwbh + 3 确实

查看全部评分 View all ratings

689

帖子

21

威望

5019

eV
积分
6128

Level 6 (一方通行)

5#
发表于 Post on 2020-3-13 21:33:00 | 只看该作者 Only view this author
fortran的system不知道系统环境变量那些事。要么写上绝对路径以及各种依赖库的路径,要么调用运行脚本

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wxhwbh + 3 谢谢

查看全部评分 View all ratings

516

帖子

1

威望

5058

eV
积分
5594

Level 6 (一方通行)

6#
发表于 Post on 2020-3-13 21:33:01 | 只看该作者 Only view this author
wxhwbh 发表于 2020-3-13 21:19
你说的是CentOS的那个orca吗?我这是RedHat。

我试过了,系统里面那个orca就是报这个错。你改成绝对路径试试

3814

帖子

4

威望

8005

eV
积分
11899

Level 6 (一方通行)

MOKIT开发者

7#
发表于 Post on 2020-3-13 21:35:18 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-3-13 21:39 编辑
wxhwbh 发表于 2020-3-13 21:19
你说的是CentOS的那个orca吗?我这是RedHat。

就是调成了系统的orca。假如alias orca=orca绝对路径,别名alias在fortran的system函数里是不起作用的。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wxhwbh + 3

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

259

帖子

4

威望

4975

eV
积分
5314

Level 6 (一方通行)

8#
 楼主 Author| 发表于 Post on 2020-3-13 22:10:15 | 只看该作者 Only view this author
zjxitcc 发表于 2020-3-13 21:35
就是调成了系统的orca。假如alias orca=orca绝对路径,别名alias在fortran的system函数里是不起作用的。

还真是!谢谢!
贫困U 退学与疯子工程学院

3814

帖子

4

威望

8005

eV
积分
11899

Level 6 (一方通行)

MOKIT开发者

9#
发表于 Post on 2020-3-13 22:32:16 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-3-13 22:34 编辑

你可以直接在system()函数里用orca绝对路径。

也有其他替代方法,比如在Fortran代码里获取系统环境变量
character(len=240) :: orca_path
call get_environment_variable('orca', orca_path)
在~/.bashrc里需写export orca=orca绝对路径(使用alias无用)。
这样做的好处是更换机器或更换orca路径时,无需改fortran代码,只需在~/.bashrc里正确定义export orca。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wxhwbh + 3 tql

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 17:51 , Processed in 0.173010 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list