一个月前我在试着编译一个C++软件。
要使这项工作尽快生效,压力很大。
我一直在寻找类似的问题,但我越来越困惑。
我使用的是以下内容:
bcmsa@braw176 ~/nba >uname -a
SunOS braw176 5.8 Generic_108528-13 sun4u sparc SUNW,Ultra-5_10
bcmsa@braw176 ~/nba >make -v
make -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.8
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.我执行了以下命令:
bcmsa@braw176 ~/nba/DLPRTER_CAA/bin/RPG3/default >make -dwp all但我收到的信息如下:
Reaping winning child 0x0006da38 PID 27586
/bin/sh: /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts/sigunion.pl: not found
Live child 0x0006da38 (/export/home/bcmsa/nba/DLPRTER_CAA/bin/RPG3/default/sigunion.h) PID 27588
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x0006da38 PID 27588
make: *** [/export/home/bcmsa/nba/DLPRTER_CAA/bin/RPG3/default/sigunion.h] Error 1
Removing child 0x0006da38 PID 27588 from chain.更疯狂的是,sigunion.pl存储在指定的目录中:
bcmsa@braw176 ~/nba >cd /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts/
bcmsa@braw176 /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts >ls -la
total 120
drwxrwsr-x 2 80422 3626 4096 Jun 12 2002 .
drwxrwsr-x 3 80422 3626 4096 Jun 12 2002 ..
-r-xr-xr-x 1 80422 3626 2195 Jun 28 1999 bdt_c.sh
-r-xr-xr-x 1 80422 3626 2449 Mar 8 1999 bdt_h.sh
-r-xr-xr-x 1 80422 3626 681 Oct 20 1999 change_base
-r-xr-xr-x 1 80422 3626 990 Oct 20 1999 convert_to_iog11
-r-xr-xr-x 1 80422 3626 692 Oct 20 1999 create_directory
-r-xr-xr-x 1 80422 3626 604 Oct 20 1999 create_elements
-r--r--r-- 1 80422 3626 582 Mar 2 1999 create_elements.base
-r-xr-xr-x 1 80422 3626 2059 Dec 13 2001 generate_signal_files.csh
-r-xr-xr-x 1 80422 3626 486 Oct 20 1999 generate_version_info
-r-xr-xr-x 1 80422 3626 610 Oct 20 1999 get_program.csh
-r-xr-xr-x 1 80422 3626 760 Oct 20 1999 get_suid.csh
-r-xr-xr-x 1 80422 3626 774 Oct 20 1999 set_autostart.pl
-r-xr-xr-x 1 80422 3626 1555 Oct 20 1999 sigunion.pl请帮我找出解决这个问题的方法。我真的不知道还能做什么。
我尝试执行以下代码,看看会发生什么:
bcmsa@braw176 /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts >perl sigunion.pl
Can't exec /usr/atria/bin/Perl at sigunion.pl line 1.信息:
bcmsa@braw176 /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts >which perl
/usr/bin/perl
bcmsa@braw176 /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts >perl -v
This is perl, version 5.005_03 built for sun4-solaris
bcmsa@braw176 /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts >head sigunion.pl
#! /usr/atria/bin/Perl发布于 2010-11-06 02:43:31
我强烈怀疑sigunion.pl中的shebang (也称为#!行)指向了您的perl可执行文件的错误位置。
head sigunion.pl将显示sigunion.pl认为perl在哪里,which perl将向您显示perl实际安装的位置。
示例:
$ head sigunion.pl
#!/usr/bin/perl
.....stuff omited
$ which perl
/usr/opt/perl-5.8.8/bin/perl发布于 2010-11-06 02:38:48
/bin/sh:找不到/aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts/sigunion.pl:
...indicates表示/bin/sh无法确定如何运行脚本sigunion.pl。它可能缺少一行shebang行:
#!/usr/bin/perl...which告诉shell要解析和运行文件的外部程序(在本例中是perl)。
或者,您可以只让perl在$PATH中找到,方法是将Makefile中的适当行更改为:
perl /aps/APS40/RPG3_R4A/lib/cmtool/plugin/rpg3.R3B/tools/tools/scripts/sigunion.pl <arguments>https://stackoverflow.com/questions/4108965
复制相似问题