过去 15 天,我在 Centos Linux 服务器上收到以下错误消息。
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.utf8",
LC_ALL = "en_US.utf8",
LC_TYPE = "en_US.utf8",
LANG = "en_US.utf8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
我是一名生物信息学家,每当我运行 perl 或基于 perl 的应用程序(如 fastqc、bwa 和 samtools)时,它都会出现此错误并且不允许程序运行。
我尝试通过下列方式解决问题。
使用以下方式设置语言环境
导出 LANGUAGE=en_US.UTF-8 导出 LC_ALL=en_US.UTF-8 导出 LANG=en_US.UTF-8 导出 LC_TYPE=en_US.UTF-8
重新安装 glibc
yum 重新安装 glibc-common
sh -c "echo -e 'LANG=en_US.utf8\nLC_ALL=en_US.utf8' > /etc/default/locale"
这生成了一个我以前从未有过的区域设置文件/etc/default
。
localedef -i en_US -f UTF-8 en_US.UTF-8
localedef -i en_US -f UTF-8 en_US.UTF-8 localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 localedef -c -i en_US -f UTF-8 en_US.UTF-8
yum update
我现在的centos版本是6.9
gcc 版本是
gcc(GCC)4.4.7 20120313(红帽 4.4.7-18)
glibc 版本是
ldd --version
ldd (GNU libc) 2.12
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
如果我使用 root 运行上述工具 fastqc/bwa/samtools,它可以正常运行,但如果没有超级用户,就会出现错误。
我不知道如何解决这个问题。非常感谢您的帮助。