Syntax error in prolog: invalid definition when trying to generate zh_CN.utf8

I’m running a LXC environment in Proxmox VE (CT) with the file opensuse-leap-image.x86_64-15.5.0-lxc-Build10.117.tar.xz. When I try to run localedef -f UTF-8.gz -i zh_CN zh_CN.utf8 I got these message:

/usr/share/i18n/charmaps/UTF-8.gz:1: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:2: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:3: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:4: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:5: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:6: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:7: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:8: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:9: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:10: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:11: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:12: syntax error in prolog: invalid definition
/usr/share/i18n/charmaps/UTF-8.gz:13: syntax error in prolog: invalid definition
Killed

Is it relative to my environment? Or some packages are missing?

You need to specify file name without .gz suffix.

So I should unzip the file first. It worked, thanks!

No, you should not and that is not what I said.

But whatever works for you.

I tried -f UTF-8 and it said UTF-8 not found. Turns out I didn’t have gzip installed causing the UTF-8.gz can’t be decompressed automatically. Now I accidentally fixed this when I try to unzip UTF-8.gz. ¯\_(ツ)_/¯

Oh. I guess it warrants bug report (gzip is guaranteed to be present on bare-metal systems due to dependencies and probably should be recommended by glibc otherwise).