我有一个测试脚本,它在内部调用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 #
答案 0 :(得分:0)
ecc.cat是ecom编译器的错误消息目录(cc
在Itanium系统上运行ecom
。编译器在/opt/aCC/lib/nls/msg/$LANG/ecc.cat
中查找它。
您可以尝试在脚本中将LANG
设置为C
吗? /opt/aCC/lib/nls/msg/C/ecc.cat
应该存在。
或者,您可以查看/opt/aCC/lib/nls/msg
并选择一种语言,例如en_US
。