【问题标题】:cc: error: cannot open message catalog: ecc.catcc:错误:无法打开消息目录:ecc.cat
【发布时间】:2012-08-27 15:28:35
【问题描述】:

我有一个测试脚本,它在内部调用 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 #

【问题讨论】:

    标签: c unix hp-ux


    【解决方案1】:

    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

    【讨论】:

    • 非常感谢您的澄清。但即使在脚本中将 LANG 设置为 C 后,它也不会通过。我还有其他选择吗?
    • /opt/aCC/lib/nls/msg 存在吗?如果是这样,您在其中看到了哪些目录?
    • 是的,它存在并且只有一个目录-C。它包含两个文件-ecc.cat和ecc.msgs
    • 你能粘贴这些命令的输出吗:stat /opt/aCC/lib/nls/msg/C/ecc.catfile /opt/aCC/lib/nls/msg/C/ecc.cat
    • 我已经使用这些详细信息编辑了原始查询。请参考他们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2011-07-17
    • 2021-04-10
    • 2012-09-05
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多