0

我有一个测试脚本,它在内部调用 make 来编译示例 C 程序。但是由于一些未知的原因,编译没有通过。它抛出以下错误:

08-27 20:23:45.777 make program         cc -o /mnt2/pfst.4183/bin/program program.c
cc: error: cannot open message catalog: ecc.cat
cc: error 1901: unknown message
*** Error exit code 1

Stop.
Ret = 1

当我尝试在命令提示符下编译相同的程序时,它正在成功运行。

相同的脚本在其他机器上运行得非常好。

谁能建议这个错误是什么?

PFB 是更多细节:

$>/opt/aCC/lib/nls/msg/C # ls -lrt
total 512
-r--r--r--   1 bin        bin         121889 Nov 18  2006 ecc.cat
-r--r--r--   1 bin        bin         136836 Nov 18  2006 ecc.msgs
$>/opt/aCC/lib/nls/msg/C #

$>/opt/aCC/lib/nls/msg/C # /opt/cifsutil/bin/stat /opt/aCC/lib/nls/msg/C/ecc.cat
FILE: /opt/aCC/lib/nls/msg/C/ecc.cat
st_dev      = 0x40000003 -> major/minor: 64/3
st_ino      = 14209
st_fstype   = 9
st_mode     = 0x8124 ---> S_IFREG=1  S_IFBLK=0  S_IFCHR=0  S_IFDIR=0  S_IFIFO=0
                          S_ISUID=0  S_ISGID=0  STICKY=0   mode_bits=r--r--r--

st_basemode = 0x0124 ---> S_IFREG=0  S_IFBLK=0  S_IFCHR=0  S_IFDIR=0  S_IFIFO=0
                          S_ISUID=0  S_ISGID=0  STICKY=0   mode_bits=r--r--r--
st_uid      = 2
st_gid      = 2
st_atime    = 0x5040623e, 1346396734  [Fri Aug 31 12:35:34 2012]
st_mtime    = 0x455e1bb4, 1163795380  [Sat Nov 18 01:59:40 2006]
st_ctime    = 0x503f65ce, 1346332110  [Thu Aug 30 18:38:30 2012]
st_size     = 121889 bytes
st_blocks   = 120         st_blksize = 8192 bytes
st_nlink    = 1           st_acl     = 0
st_remote   = 0           st_rcnode  = 0x0001
st_netdev   = 0x00000000  st_cnode   = 0x0001
st_netino   = 0           st_netsite = 0x0000
st_realdev  = 0x40000003
st_rdev     = <n/a>

$>/opt/aCC/lib/nls/msg/C #
$>/opt/aCC/lib/nls/msg/C # /usr/bin/file /opt/aCC/lib/nls/msg/C/ecc.cat
/opt/aCC/lib/nls/msg/C/ecc.cat: NLS message catalog, 1898 messages
$>/opt/aCC/lib/nls/msg/C #
4

1 回答 1

0

ecc.cat 是 ecom 编译器的错误消息目录(在 Itanium 系统上cc运行)。ecom编译器在/opt/aCC/lib/nls/msg/$LANG/ecc.cat.

你可以尝试在你的脚本中设置LANGC/opt/aCC/lib/nls/msg/C/ecc.cat应该存在。

或者,您可以查看/opt/aCC/lib/nls/msg并在那里选择一种语言,例如en_US.

于 2012-08-27T17:46:14.003 回答