I use neovim as my editor, because lua is slightly nicer than vimscript. Anyway, I recently noticed that my previous depenency manager packer.nvim went unmaintained, so off I went to replace it.
The first recommendation was lazy.nvim, but... I think the laziness breaks too much stuff, or I was too lazy to go figure out which plugins I needed not lazy load.
The other recommendation as pckr.nvim, which worked on my personal laptop running Arch. The next day as I was updating my work laptop running Fedora (38), I ran into an issue on startup:
1Error detected while processing /root/.config/nvim/init.lua:
2E5113: Error while calling lua chunk: /root/.local/share/nvim/pckr/pckr.nvim/lua/pckr/actions.lua:331: attempt to yield acro
3ss C-call boundary
4stack traceback:
5 [C]: in function 'main'
6 /root/.local/share/nvim/pckr/pckr.nvim/lua/pckr/actions.lua:331: in function 'install'
7 /root/.local/share/nvim/pckr/pckr.nvim/lua/pckr.lua:55: in function 'add'
8 /root/.config/nvim/init.lua:120: in main chunk
I'm still quite confused about how this could happen, besides maybe neovim being built against a different lua version? The version info wasn't too enlightening:
[root@63dcc201f703 nvim]# nvim --version
NVIM v0.9.4
Build type: RelWithDebInfo
LuaJIT 2.1.1692716794
Compilation: /usr/bin/gcc -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wvla -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -fno-common -Wno-unused-result -Wimplicit-fallthrough -fdiagnostics-color=auto -fstack-protector-strong -DUNIT_TESTING -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DUSING_UV_SHARED=1 -I/usr/include/luajit-2.1 -I/usr/include -I/usr/include/luv -I/builddir/build/BUILD/neovim-0.9.4/redhat-linux-build/src/nvim/auto -I/builddir/build/BUILD/neovim-0.9.4/redhat-linux-build/include -I/builddir/build/BUILD/neovim-0.9.4/redhat-linux-build/cmake.config -I/builddir/build/BUILD/neovim-0.9.4/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
Run :checkhealth for more info
Attempting to follow instructions to build from source: neovim/wiki/Building Neovim resulted in more errors:
1FAILED: src/nvim/po/cs.mo /root/neovim/build/src/nvim/po/cs.mo
2cd /root/neovim/build/src/nvim/po && /usr/bin/msgfmt -o /root/neovim/build/src/nvim/po/cs.mo /root/neovim/src/nvim/po/cs.po
3/root/neovim/src/nvim/po/cs.po: warning: Charset "ISO-8859-2" is not supported. msgfmt relies on iconv(),
4 and iconv() does not support "ISO-8859-2".
5 Installing GNU libiconv and then reinstalling GNU gettext
6 would fix this problem.
7 Continuing anyway.
8/usr/bin/msgfmt: Cannot convert from "ISO-8859-2" to "UTF-8". msgfmt relies on iconv(), and iconv() does not support this conversion.
9[3/16] Generating cs.cp1250.mo
10FAILED: src/nvim/po/cs.cp1250.mo /root/neovim/build/src/nvim/po/cs.cp1250.mo
11cd /root/neovim/build/src/nvim/po && /usr/bin/msgfmt -o /root/neovim/build/src/nvim/po/cs.cp1250.mo /root/neovim/src/nvim/po/cs.cp1250.po
12/root/neovim/src/nvim/po/cs.cp1250.po: warning: Charset "CP1250" is not supported. msgfmt relies on iconv(),
13 and iconv() does not support "CP1250".
14 Installing GNU libiconv and then reinstalling GNU gettext
15 would fix this problem.
16 Continuing anyway.
17/usr/bin/msgfmt: Cannot convert from "CP1250" to "UTF-8". msgfmt relies on iconv(), and iconv() does not support this conversion.
18[4/16] Generating ja.euc-jp.mo
19FAILED: src/nvim/po/ja.euc-jp.mo /root/neovim/build/src/nvim/po/ja.euc-jp.mo
20cd /root/neovim/build/src/nvim/po && /usr/bin/msgfmt -o /root/neovim/build/src/nvim/po/ja.euc-jp.mo /root/neovim/src/nvim/po/ja.euc-jp.po
21/root/neovim/src/nvim/po/ja.euc-jp.po: warning: Charset "EUC-JP" is not supported. msgfmt relies on iconv(),
22 and iconv() does not support "EUC-JP".
23 Installing GNU libiconv and then reinstalling GNU gettext
24 would fix this problem.
25 Continuing anyway.
26/usr/bin/msgfmt: Cannot convert from "EUC-JP" to "UTF-8". msgfmt relies on iconv(), and iconv() does not support this conversion.
27[5/16] Generating sk.cp1250.mo
28FAILED: src/nvim/po/sk.cp1250.mo /root/neovim/build/src/nvim/po/sk.cp1250.mo
29cd /root/neovim/build/src/nvim/po && /usr/bin/msgfmt -o /root/neovim/build/src/nvim/po/sk.cp1250.mo /root/neovim/src/nvim/po/sk.cp1250.po
30/root/neovim/src/nvim/po/sk.cp1250.po: warning: Charset "CP1250" is not supported. msgfmt relies on iconv(),
31 and iconv() does not support "CP1250".
32 Installing GNU libiconv and then reinstalling GNU gettext
33 would fix this problem.
34 Continuing anyway.
35/usr/bin/msgfmt: Cannot convert from "CP1250" to "UTF-8". msgfmt relies on iconv(), and iconv() does not support this conversion.
36[6/16] Generating sk.mo
37FAILED: src/nvim/po/sk.mo /root/neovim/build/src/nvim/po/sk.mo
38cd /root/neovim/build/src/nvim/po && /usr/bin/msgfmt -o /root/neovim/build/src/nvim/po/sk.mo /root/neovim/src/nvim/po/sk.po
39/root/neovim/src/nvim/po/sk.po: warning: Charset "ISO-8859-2" is not supported. msgfmt relies on iconv(),
40 and iconv() does not support "ISO-8859-2".
41 Installing GNU libiconv and then reinstalling GNU gettext
42 would fix this problem.
43 Continuing anyway.
44/usr/bin/msgfmt: Cannot convert from "ISO-8859-2" to "UTF-8". msgfmt relies on iconv(), and iconv() does not support this conversion.
45[16/16] Generating ru.mo
46ninja: build stopped: subcommand failed.
47make: *** [Makefile:84: nvim] Error 1
Though this was resolved with:
1$ yum install glibc-gconv-extra
And the custom build version worked with pckr.nvim
.
So I still don't know why the packaged version is bad.
Also the tarballed releases from neovim/releases
work too.