最近 gentoo 从 17.0 更新到 17.1, 需要手动进行升级配置,使用 unsymlink-lib -p --finish 这一步的时候报错,报错如下:

/usr/lib/python-exec/python3.6/unsymlink-lib -p --finish 

... 
rm -d /usr/lib64/go/test/fixedbugs/issue5957.dir/c.go 
rm -d /usr/lib64/go/test/fixedbugs/issue5957.dir/b.go 
rm -d /usr/lib64/go/test/fixedbugs/issue5957.dir/a.go 
rm -d /usr/lib64/go/test/fixedbugs/bug437.dir/one.go 
rm -d /usr/lib64/go/test/fixedbugs/bug437.dir/x.go 
rm -d /usr/lib64/go/test/fixedbugs/bug437.dir/two.go 
Traceback (most recent call last): 
  File "/usr/lib/python-exec/python3.6/unsymlink-lib", line 819, in <module> 
    main() 
  File "/usr/lib/python-exec/python3.6/unsymlink-lib", line 782, in main 
    m.finish(pretend=args.pretend, resume=args.action.endswith('resume')) 
  File "/usr/lib/python-exec/python3.6/unsymlink-lib", line 585, in finish 
    out('rm -d {}', fp) 
  File "/usr/lib/python-exec/python3.6/unsymlink-lib", line 41, in out 
    _log(template, *args, **kwargs) 
  File "/usr/lib/python-exec/python3.6/unsymlink-lib", line 30, in _log 
    **kwargs 
UnicodeEncodeError: 'ascii' codec can't encode character '\xc4' in position 50: ordinal not in range(128) 

我的 unsymlink-lib 的版本是 15,前面的一些 bug 已经修复了,所以检查 locale 的结果,结果发现是 locale 的问题, locale 都是 "POSIX",通过修改 /etc/env.d/02locale,

LANG="en_US.UTF-8" 
LC_COLLATE="C" 

然后 env-update && source /etc/profile,就解决问题了。

标签: Gentoo

添加新评论