gpt4 book ai didi

linux - Linux 模拟器 "Cannot execute binary"错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:05 26 4
gpt4 key购买 nike

很抱歉不精通计算机世界!我正在尝试在 Windows 机器上使用 Cygwin Linux 模拟器(64 位)运行一些分子动力学模拟。但是我一直收到错误“无法在...执行二进制文件”。我尝试执行“dos2unix”以查看它是否是语言错误。谷歌搜索说这可能是 64/32 位不匹配,但我认为在 64 位上运行 32 位没问题?无法执行二进制的代码如下:

BEGIN {
if ($ENV{'CHARMMEXEC'} ne "") {
$exec=$ENV{'CHARMMEXEC'};
} else {
$exec=&GenUtil::findExecutable("charmm");
}

...

my $charmmexec=shift;

if (defined $charmmexec) {
$exec=$charmmexec;
}

die "cannot execute binary" if ((!-x $exec) && ($exec !~ "mpi") && ($exec !~ "ibrun"));

我不精通 perl,所以我不明白代码的大部分含义,尽管我进行了所有谷歌搜索。将不胜感激!

最佳答案

除非所有这四件事都为真,否则这一行将退出您的程序。

  1. 存储在变量 $exec 中的文件名包含文本 "ibrun"
  2. 存储在变量 $exec 中的文件名包含文字文本 "mpi"
  3. 可以访问存储在变量$exec 中的文件名。
  4. 存储在变量 $exec 中的文件名设置了可执行权限位。

您可以将其分解为三个语句以查看未满足哪些条件:

die "Expected $exec to contain 'ibrun'"             if $exec !~ "ibrun";
die "Expected $exec to contain 'mpi'" if $exec !~ "mpi";
die "Can't stat $exec: $!" if !stat($exec);
die "$exec is not executable. Run 'chmod +x $exec'" if !-x _;

关于linux - Linux 模拟器 "Cannot execute binary"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37997197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com