周末打开电脑,想看下昨天kick off的regression出结果了没有,但是:
hk-xterm-02:~> tmuxl
tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968
简单上网查找了一下解决方法,发现都需要apt install一些东西,或者sudo 改变一些系统环境。因为是公司的服务器,我也没有权限,所以就放弃了,不用tmux了,用vnc。
然后,工作需要,我想kick off一轮新的regression,竟然发现公司非常非常stable的run regression脚本,竟然也报错,根据错误信息,我研究了一下,根本原因是脚本想执行下面的shell命令:
hk-xterm-02:~> date
Sat Sep 25 07:38:46 Local time zone must be set--see zic manual page 2021
而理论上应该得到下面的结果:
root@xiaoming-lt:/mnt/c/WINDOWS/system32# date
Sat Sep 25 16:11:11 CST 2021
把错误信息(Sat Sep 25 07:38:46 Local time zone must be set–see zic manual page 2021),上网搜了一下,找到这个:
GNU中对TZ环境变量的说明中指出,如果TZ没有值,会默认选择时区,具体地址由libc.so.6这个库决定。在升级前,centos的默认时区文件为/etc/localtime。而我新编译的库时,设置了–prefix=/usr/local/glibc-2.14,导致默认路径为变成了/usr/local/glibc-2.14/etc/localtime,自然就找不到默认时区了。
解决方案:
ln -sf /etc/localtime /usr/local/glibc-2.14/etc/localtime
根据上面的解释,是glic的问题,上周我确实把我用户下面的glic升级到了glibc-2.14(通过设置LD_LIBRARY_PATH)。
当然,对于我来讲,上面的结果方案看起来有点儿不太友好,因为要改系统的配置。我只是把glic的版本回退到了原来的版本,一切就又回来了,tmux、date命令都可以使用了。