Git Product home page Git Product logo

Comments (40)

tembokk avatar tembokk commented on June 1, 2024 3

Yep it's working thank you so much πŸ˜­πŸ™ I will report if there are any other unexpected issues

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024 2

I suppose you could go into the rocks.nvim installation and try to comment out parts of the plugin/rocks.lua file, so we can get an idea when it is crashing.

Okay

Thanks for all the patience by the way πŸ™

I'm not in hurry or anything so it's fine πŸ‘Œ πŸ˜„, also I really like this project

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024 1

Okay I think I found the problem.

So I tried to use another luarocks version, I download a standalone binary from here.
And I can do lua =vim.system({"luarocks", "--version"}):wait()

{
  code = 0,
  signal = 0,
  stderr = "",
  stdout = "luarocks 3.9.2\r\nLuaRocks main command-line interface\r\n\r\n"
}

But it still can't install rocks.nvim

Installing rocks.nvim...
Installing rocks.nvim failed:
stderr: Access is denied.^M
Access is denied.^M
Access is denied.^M
Warning: Lua 5.1 interpreter not found at C:\Users\Windows 10\Downloads\executable\luarocks-3.9.2-windows-64^M
^M
Modules may not install with the correct configurations. You may want to configure the path prefix to your build of Lua 5.1 using^M
^M
   luarocks config --local lua_dir <your-lua-prefix>^M
^M
^M
Error: Failed finding Lua header files. You may need to install them or configure LUA_INCDIR.^M

stdout: Installing https://luarocks.org/rocks.nvim-2.11.0-1.src.rock^M

So I tried another way with installing lua and luarocks through hererocks.
But It got the same error as from lua-for-windows

And I tried to compare those three luarocks executable:

  • lua-for-windows: luarocks.bat
  • hererocks: luarocks.bat
  • binary: luarocks.exe

Gotcha! I'm thinking maybe the cause of the error is vim.system is confused with .bat file

Here's the result after I tried to run lua =vim.system({"cmd.exe", "/c", "luarocks --version"}):wait() with lua and luarocks from hererocks

{
  code = 0,
  signal = 0,
  stderr = "",
  stdout = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks\\luarocks.lua 3.8.0\r\nLuaRocks main command-line interface\r\n\r\n"
}

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Hey πŸ‘‹

thanks for reporting!

I don't believe we've had a chance to test the installer on Windows.
It's possible that your error message is caused because neovim can't find your luarocks binary on the PATH. Although normally, the installer should notify with a "luarocks not found" error message.

What's strange is that the stack trace doesn't contain the location of the installer script, which leads me to believe this may be a general incompatibility of vim.system with Windows.

Are you able to run :lua =vim.system({"luarocks", "--lua-version=5.1", "install", "rocks.nvim" }):wait() in cmd mode?
Or another luarocks command like :lua =vim.system({"luarocks", "--version"}):wait()?

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Sorry for late reply, here is the results of lua =vim.system({"luarocks", "--version"}):wait()

E5108: Error executing lua ...m-nightly\current\share\nvim\runtime/lua/vim/_system.lua:241: ENOENT: no such file or directory
stack traceback:
	[C]: in function 'error'
	...m-nightly\current\share\nvim\runtime/lua/vim/_system.lua:241: in function 'spawn'
	...m-nightly\current\share\nvim\runtime/lua/vim/_system.lua:332: in function 'system'
	[string ":lua"]:1: in main chunk

Also here's the result of lua =vim.system({"lua", "-v"}):wait()

{
  code = 0,
  signal = 0,
  stderr = "Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio\r\n",
  stdout = ""
}

Even though both lua and luarocks installed from scoop install lua-for-windows, only luarocks output errors like that

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Which version of luarocks does scoop install and what's the output of luarocks --version on the command line?

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

It's luarocks 2.0.2

I will try to install different version

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Ok so I tried to set Set up luarocks (recommended) ?: true
And got this output

Downloading luarocks...
Configuring luarocks...
Configuring luarocks failed.
stderr: 
stdout: 
Configuring LuaRocks version dev...

Lua 5.1 interpreter not found in $PATH
You may want to use the flags --with-lua, --with-lua-bin and/or --lua-version
Run ./configure --help for details.

configure failed.

Even though the result of lua =vim.system({"lua", "-v"}):wait() is like this:

{
  code = 0,
  signal = 0,
  stderr = "Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio\r\n",
  stdout = ""
}

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Unrelated to this issue but when cloning luarocks maybe use --filter=blob:none, because it was so slow without it πŸ˜…

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Thanks for troubleshooting this!

I've looked at the neovim source. vim.system uses uv.spawn under the hood, which says:

Possible reasons for failing to spawn would include (but not be limited to) the
file to execute not existing, not having permissions to use the setuid or setgid
specified, or not having enough memory to allocate for the new process.

and can confirm that ENOENT: no such file or directory is thrown when you pass in a binary it can't find.

Regarding: Lua 5.1 interpreter not found in $PATH:

We use sh configure to configure luarocks. My guess is that it falls back to git sh on Windows (I don't think sh is installed by default, but git for Windows installs it iirc?). So it's likely that git sh doesn't see the PATH.

@vhyrro What do you think? Maybe we should use vim.o.sh for this?
@tembokk What's the output of :lua =vim.o.sh on your Windows machine?

luarocks 2.0.2 is very outdated and unlikely to work with rocks.nvim (we should probably add a minimum version requirement check to the installer).

Error: Failed finding Lua header files. You may need to install them or configure LUA_INCDIR.

Are you still using lua installed with scoop? luarocks makes some assumptions about where to find header files.

Now that I think of it, even if you fix the issue with luarocks not finding lua, you'll probably run into issues installing one of rocks.nvim's dependencies, toml-edit.lua.
We haven't yet succeeded in building it for Windows with GitHub actions.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

What's the output of :lua =vim.o.sh on your Windows machine?

In my config I set it to pwsh but with nvim -u NORC it's cmd.exe

Are you still using lua installed with scoop?

I plan to stick to hererocks from now on

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

What's the output of :lua =vim.o.sh on your Windows machine?

In my config I set it to pwsh but with nvim -u NORC it's cmd.exe

Are you still using lua installed with scoop?

I plan to stick to hererocks from now on

Would you be able to test if using vim.o.sh works for you?
We'll probably have some more stuff to iron out for Windows (a fix for the toml-edit binary rock is in the pipeline).

but with nvim -u NORC it's cmd.exe

We recommend to use nvim -u NORC, as plugins like oil.nvim can interfere with the installer.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Would you be able to test if using vim.o.sh works for you?

I'll try to test outside neovim first

It seems hererocks act differently with and without admin priviliges. Probably this is an issue on scoop, since I also installed python from scoop.

Without admin privileges
❯ luarocks install rocks.nvim
Access is denied.
Warning: Lua 5.1 interpreter not found at C:\Users\Windows 10\Downloads\executable\luarocks

Modules may not install with the correct configurations. You may want to configure the path prefix to your build of Lua 5.1 using

   luarocks config --local lua_dir <your-lua-prefix>

Access is denied.
Installing https://luarocks.org/rocks.nvim-2.13.1-1.src.rock
Missing dependencies for rocks.nvim 2.13.1-1:
   toml-edit >= 0.1.5 (not installed)
   toml (not installed)
   fidget.nvim >= 1.1.0 (not installed)
   fzy (not installed)
   nvim-nio (not installed)

rocks.nvim 2.13.1-1 depends on lua >= 5.1 (5.1-1 provided by VM)
rocks.nvim 2.13.1-1 depends on toml-edit >= 0.1.5 (not installed)
Installing https://luarocks.org/toml-edit-0.1.5-1.src.rock
Missing dependencies for toml-edit 0.1.5-1:
   luarocks-build-rust-mlua (not installed)

toml-edit 0.1.5-1 depends on lua >= 5.1 (5.1-1 provided by VM)
toml-edit 0.1.5-1 depends on luarocks-build-rust-mlua (not installed)
Installing https://luarocks.org/luarocks-build-rust-mlua-0.2.0-1.src.rock

luarocks-build-rust-mlua 0.2.0-1 is now installed in c:\users\windows 10\downloads\executable\luarocks\ (license: MIT)

warning: unused manifest key: target.aarch64-apple-darwin.rustflags
warning: unused manifest key: target.x86_64-apple-darwin.rustflags
   Compiling proc-macro2 v1.0.66
   Compiling autocfg v1.1.0
   Compiling serde v1.0.188
   Compiling unicode-ident v1.0.11
   Compiling pkg-config v0.3.27
   Compiling num-traits v0.2.16
   Compiling cc v1.0.83
   Compiling cfg-if v1.0.0
   Compiling quote v1.0.33
   Compiling syn v2.0.29
   Compiling ordered-float v2.10.0
   Compiling mlua-sys v0.3.2
   Compiling memchr v2.6.3
   Compiling hashbrown v0.14.0
   Compiling equivalent v1.0.1
   Compiling indexmap v2.0.0
   Compiling serde-value v0.7.0
   Compiling erased-serde v0.3.31
   Compiling bstr v1.6.2
   Compiling toml_datetime v0.6.3
   Compiling rustc-hash v1.1.0
error: Dlltool could not create import library with C:\Users\Windows 10\scoop\apps\mingw\current\bin\dlltool.exe -d C:\Users\Windows 10\AppData\Local\Temp\rustcugFGxI\lua51.def -D lua51.dll -l C:\Users\Windows 10\AppData\Local\Temp\rustcugFGxI\lua51.lib -m i386:x86-64 -f --64 --no-leading-underscore --temp-prefix C:\Users\Windows 10\AppData\Local\Temp\rustcugFGxI\lua51.dll:

       Assembler messages:
       Fatal error: can't create C:\Users\Windows: Permission denied
       C:\Users\Windows 10\scoop\apps\mingw\current\bin\dlltool.exe: C:\Users\Windows 10\scoop\apps\mingw\current\bin\as exited with status 1
       C:\Users\Windows 10\scoop\apps\mingw\current\bin\dlltool.exe: failed to open temporary head file: C:\Users\Windows 10\AppData\Local\Temp\rustcugFGxI\lua51.dllh.o: No such file or directory

error: could not compile `mlua-sys` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...

Error: Failed installing dependency: https://luarocks.org/toml-edit-0.1.5-1.src.rock - Build error: Failed building.
With admin privileges
PS C:\Windows\system32> luarocks install rocks.nvim
Installing https://luarocks.org/rocks.nvim-2.13.1-1.src.rock
Missing dependencies for rocks.nvim 2.13.1-1:
   toml-edit >= 0.1.5 (not installed)
   toml (not installed)
   fidget.nvim >= 1.1.0 (not installed)
   fzy (not installed)
   nvim-nio (not installed)

rocks.nvim 2.13.1-1 depends on lua >= 5.1 (5.1-1 provided by VM)
rocks.nvim 2.13.1-1 depends on toml-edit >= 0.1.5 (not installed)
Installing https://luarocks.org/toml-edit-0.1.5-1.src.rock
Missing dependencies for toml-edit 0.1.5-1:
   luarocks-build-rust-mlua (not installed)

toml-edit 0.1.5-1 depends on lua >= 5.1 (5.1-1 provided by VM)
toml-edit 0.1.5-1 depends on luarocks-build-rust-mlua (not installed)
Installing https://luarocks.org/luarocks-build-rust-mlua-0.2.0-1.src.rock

luarocks-build-rust-mlua 0.2.0-1 is now installed in c:\users\windows 10\downloads\executable\luarocks\ (license: MIT)

warning: unused manifest key: target.aarch64-apple-darwin.rustflags
warning: unused manifest key: target.x86_64-apple-darwin.rustflags
   Compiling proc-macro2 v1.0.66
   Compiling autocfg v1.1.0
   Compiling serde v1.0.188
   Compiling unicode-ident v1.0.11
   Compiling cc v1.0.83
   Compiling num-traits v0.2.16
   Compiling pkg-config v0.3.27
   Compiling cfg-if v1.0.0
   Compiling quote v1.0.33
   Compiling syn v2.0.29
   Compiling mlua-sys v0.3.2
   Compiling ordered-float v2.10.0
   Compiling memchr v2.6.3
   Compiling equivalent v1.0.1
   Compiling hashbrown v0.14.0
   Compiling indexmap v2.0.0
   Compiling bstr v1.6.2
   Compiling serde-value v0.7.0
   Compiling erased-serde v0.3.31
   Compiling toml_datetime v0.6.3
   Compiling rustc-hash v1.1.0
   Compiling winnow v0.5.15
   Compiling once_cell v1.18.0
   Compiling mlua_derive v0.9.0
   Compiling mlua v0.9.1
   Compiling toml_edit v0.19.14
   Compiling toml-edit-lua v0.1.4 (C:\Users\WINDOW~1\AppData\Local\Temp\luarocks_toml-edit-0.1.5-1-5316\toml-edit.lua)
    Finished release [optimized] target(s) in 49.54s
toml-edit 0.1.5-1 is now installed in c:\users\windows 10\downloads\executable\luarocks\ (license: MIT)

rocks.nvim 2.13.1-1 depends on toml (not installed)
Installing https://luarocks.org/toml-0.4.0-0.src.rock

toml 0.4.0-0 depends on lua >= 5.1 (5.1-1 provided by VM)
Warning: unmatched variable LUA_LIBRARIES
Warning: unmatched variable LINK_FLAGS
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/Windows 10/scoop/apps/mingw/current/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/Windows 10/scoop/apps/mingw/current/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Cloning toml++
-- Cloning sol2
-- Cloning magic_enum
-- Found Lua: C:/Users/Windows 10/Downloads/executable/luarocks/lib/liblua51.a (found version "5.1.5")
-- Configuring done (60.9s)
-- Generating done (0.1s)
-- Build files have been written to: C:/Users/Windows 10/AppData/Local/Temp/luarocks_toml-0.4.0-0-9015/toml.lua/build.luarocks
[ 14%] Building CXX object CMakeFiles/toml.lua.dir/src/toml.cpp.obj
[ 28%] Building CXX object CMakeFiles/toml.lua.dir/src/decoding/decoding.cpp.obj
[ 42%] Building CXX object CMakeFiles/toml.lua.dir/src/encoding/encoding.cpp.obj
[ 57%] Building CXX object CMakeFiles/toml.lua.dir/src/DataTypes/DateAndTime/dateAndTime.cpp.obj
[ 71%] Building CXX object CMakeFiles/toml.lua.dir/src/DataTypes/TOMLInt/TOMLInt.cpp.obj
[ 85%] Building CXX object CMakeFiles/toml.lua.dir/src/utilities/utilities.cpp.obj
[100%] Linking CXX shared module toml.dll
[100%] Built target toml.lua
[100%] Built target toml.lua
Install the project...
-- Install configuration: "Release"
-- Installing: C:/Users/Windows 10/Downloads/executable/luarocks/lib/luarocks/rocks-5.1/toml/0.4.0-0/lib/toml.dll
toml 0.4.0-0 is now installed in c:\users\windows 10\downloads\executable\luarocks\ (license: MIT)

rocks.nvim 2.13.1-1 depends on fidget.nvim >= 1.1.0 (not installed)
Installing https://luarocks.org/fidget.nvim-1.1.0-1.src.rock

fidget.nvim 1.1.0-1 depends on lua >= 5.1 (5.1-1 provided by VM)
fidget.nvim 1.1.0-1 is now installed in c:\users\windows 10\downloads\executable\luarocks\ (license: MIT)

rocks.nvim 2.13.1-1 depends on fzy (not installed)
Installing https://luarocks.org/fzy-1.0-1.src.rock

fzy 1.0-1 depends on lua >= 5.1 (5.1-1 provided by VM)
C:\Users\Windows 10\scoop\apps\mingw\current\bin\gcc.exe -O2 -c -o src/fzy_native.o -IC:\Users\Windows 10\Downloads\executable\luarocks\include src/fzy_native.c -DLUA_COMPAT_5_1
'C:\Users\Windows' is not recognized as an internal or external command,
operable program or batch file.

Error: Failed installing dependency: https://luarocks.org/fzy-1.0-1.src.rock - Build error: Failed compiling object src/fzy_native.o

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

We recommend to use nvim -u NORC, as plugins like oil.nvim can interfere with the installer.

Okay πŸ‘Œ I will try to find a way to make pwsh my default shell

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Would you be able to test if using vim.o.sh works for you?
I'll try to test outside neovim first

It seems hererocks act differently with and without admin priviliges. Probably this is an issue on scoop, since I also installed python from scoop.

Without admin privileges
With admin privileges

This is the toml-edit dependeny issue I mentioned earlier, for which we have a fix in the pipeline.
I'll let you know when it's ready.

@vhyrro could you trigger the luarocks upload workflow for toml-edit manually? It looks like the last run failed with an API error.

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

@tembokk the toml-edit issue should be fixed now.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

@tembokk the toml-edit issue should be fixed now.

Still produce the same error. I think the problem is not toml-edit because it's been successfully installed

Administrator in ~ took 4m1s
❯ luarocks list
Rocks installed for Lua 5.1
---------------------------                                                                                                                                                                                                                     

fidget.nvim
   1.1.0-1 (installed) - c:/users/windows 10/downloads/executable/luarocks/lib/luarocks/rocks-5.1

luarocks-build-rust-mlua
   0.2.0-1 (installed) - c:/users/windows 10/downloads/executable/luarocks/lib/luarocks/rocks-5.1

toml
   0.4.0-0 (installed) - c:/users/windows 10/downloads/executable/luarocks/lib/luarocks/rocks-5.1

toml-edit
   0.1.5-1 (installed) - c:/users/windows 10/downloads/executable/luarocks/lib/luarocks/rocks-5.1

I think the problem is fzy

With admin privileges

fzy 1.0-1 depends on lua >= 5.1 (5.1-1 provided by VM)
C:\Users\Windows 10\scoop\apps\mingw\current\bin\gcc.exe -O2 -c -o src/fzy_native.o -IC:\Users\Windows 10\Downloads\executable\luarocks\include src/fzy_native.c -DLUA_COMPAT_5_1
'C:\Users\Windows' is not recognized as an internal or external command, operable program or batch file.

Error: Failed installing dependency: https://luarocks.org/fzy-1.0-1.src.rock - Build error: Failed compiling object src/fzy_native.o

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

I think the problem is fzy

With admin privileges

fzy 1.0-1 depends on lua >= 5.1 (5.1-1 provided by VM)
C:\Users\Windows 10\scoop\apps\mingw\current\bin\gcc.exe -O2 -c -o src/fzy_native.o -IC:\Users\Windows 10\Downloads\executable\luarocks\include src/fzy_native.c -DLUA_COMPAT_5_1
'C:\Users\Windows' is not recognized as an internal or external command, operable program or batch file.

Error: Failed installing dependency: https://luarocks.org/fzy-1.0-1.src.rock - Build error: Failed compiling object src/fzy_native.o

That's strange. I think fzy needs MVSC to be installed, so that you can build it on Windows.
But we also fail to build it for our rocks-binaries server, because Windows is missing a header file. I've opened an issue for that: swarn/fzy-lua#11

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

@tembokk the fzy issue should be fixed now πŸ˜ƒ

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Still the same issue.

fzy 1.0.3-1 depends on lua >= 5.1 (5.1-1 provided by VM)
C:\Users\Windows 10\scoop\apps\mingw\current\bin\gcc.exe -O2 -c -o src/fzy_native.o -IC:\Users\Windows 10\Downloads\executable\luarocks\include src/fzy_native.c -DLUA_COMPAT_5_1
'C:\Users\Windows' is not recognized as an internal or external command,
operable program or batch file.                                             
Error: Failed installing dependency: https://luarocks.org/fzy-1.0.3-1.src.rock - Build error: Failed compiling object src/fzy_native.o

It's weird, it seems, on my PC, fzy won't handle space in path correctly πŸ€”

'C:\Users\Windows' is not recognized as an internal or external command,
operable program or batch file.

Should be C:\Users\Windows 10 right, instead of C:\Users\Windows

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

That error is caused by luarocks trying to compile fzy, which is strange, because the rocks.nvim installer should tell luarocks to fetch it from a binary server.

Are you able to run

luarocks --server='https://nvim-neorocks.github.io/rocks-binaries/' --local install fzy

?

It could be that luarocks doesn't fetch the win32-x86_64.rock if it detects your platform as mingw32, in which case it will try to compile it from source.

I believe if you run luarocks config, it should output your config, with an arch value that tells you what platform it thinks you're on.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

This is the result of my luarocks config

❯ luarocks config
accept_unknown_fields = false
arch = "win32-x86_64"
cache = {
   luajit_version = "",
   luajit_version_checked = true
}
cache_fail_timeout = 86400
cache_timeout = 60
check_certificates = false
cmake_generator = "MinGW Makefiles"
config_files = {
   nearest = "C:/Users/Windows 10/Downloads/executable/luarocks/luarocks/config-5.1.lua",
   system = {
      file = "C:/Users/Windows 10/Downloads/executable/luarocks/luarocks/config-5.1.lua",
      found = true
   },
   user = {
      file = "C:/Users/Windows 10/AppData/Roaming/luarocks/config-5.1.lua",
      found = false
   }
}
connection_timeout = 30
deploy_bin_dir = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/bin"
deploy_lib_dir = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/lib/lua/5.1"
deploy_lua_dir = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/share/lua/5.1"
deps_mode = "one"
disabled_servers = {}
export_path_separator = ";"
external_deps_dirs = {
   "c:/external/",
   "c:/mingw",
   "c:/windows/system32"
}
external_deps_patterns = {
   bin = {
      "?.exe",
      "?.bat"
   },
   include = {
      "?.h"
   },
   lib = {
      "lib?.dll.a",
      "?.dll.a",
      "lib?.a",
      "cyg?.dll",
      "lib?.dll",
      "?.dll",
      "?.lib"
   }
}
external_deps_subdirs = {
   bin = "bin",
   include = "include",
   lib = {
      "",
      "lib",
      "bin"
   }
}
external_lib_extension = "dll"
fs_use_modules = false
home = "C:\\Users\\Windows 10\\AppData\\Roaming"
home_tree = "C:\\Users\\Windows 10\\AppData\\Roaming/luarocks"
homeconfdir = "C:\\Users\\Windows 10\\AppData\\Roaming/luarocks"
hooks_enabled = true
lib_extension = "dll"
lib_modules_path = "/lib/lua/5.1"
link_lua_explicitly = true
local_by_default = false
local_cache = "C:\\Users\\Windows 10\\AppData\\Local/LuaRocks/Cache"
lua_extension = "lua"
lua_interpreter = "lua.exe"
lua_modules_path = "/share/lua/5.1"
lua_version = "5.1"
major_version = "3.8"
makefile = "Makefile"
no_manifest = false
obj_extension = "o"
processor = "x86_64"
program_series = "3.8"
program_version = "3.8.0"
rocks_dir = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/lib/luarocks/rocks-5.1"
rocks_servers = {
   {
      "https://luarocks.org",
      "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/",
      "https://luafr.org/luarocks/",
      "http://luarocks.logiceditor.com/rocks"
   }
}
rocks_subdir = "/lib/luarocks/rocks-5.1"
rocks_trees = {
   {
      name = "user",
      root = "C:\\Users\\Windows 10\\AppData\\Roaming/luarocks"
   },
   {
      name = "system",
      root = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\"
   }
}
runtime_external_deps_patterns = {
   bin = {
      "?.exe",
      "?.bat"
   },
   include = {
      "?.h"
   },
   lib = {
      "cyg?.dll",
      "?.dll",
      "lib?.dll"
   }
}
runtime_external_deps_subdirs = {
   bin = "bin",
   include = "include",
   lib = {
      "",
      "lib",
      "bin"
   }
}
static_lib_extension = "a"
sysconfdir = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks"
target_cpu = "x86_64"
upload = {
   api_version = "1",
   server = "https://luarocks.org",
   tool_version = "1.0.0"
}
user_agent = "LuaRocks/3.8.0 win32-x86_64"
variables = {
   AR = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\ar.exe",
   BUNZIP2 = "bunzip2",
   CC = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\gcc.exe",
   CFLAGS = "-O2",
   CHMOD = "chmod",
   CMAKE = "cmake",
   CP = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/cp.exe\"",
   CURL = "curl",
   CURLNOCERTFLAG = "-k",
   CVS = "cvs",
   FIND = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/find.exe\"",
   GIT = "git",
   GPG = "gpg",
   GUNZIP = "gunzip",
   HG = "hg",
   ICACLS = "icacls",
   LD = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\gcc.exe",
   LIBFLAG = "-shared",
   LIB_EXTENSION = "dll",
   LS = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/ls.exe\"",
   LUA = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\bin/lua.exe",
   LUALIB = "lua51.dll",
   LUA_BINDIR = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\bin",
   LUA_DIR = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks",
   LUA_INCDIR = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\include",
   LUA_LIBDIR = "C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\bin",
   MAKE = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\make.exe",
   MD5 = "md5",
   MD5SUM = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/md5sum.exe\"",
   MKDIR = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/mkdir.exe\"",
   MKTEMP = "mktemp",
   MSVCRT = "MSVCR80",
   MT = "mt",
   OBJ_EXTENSION = "o",
   OPENSSL = "openssl",
   PWD = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/pwd.exe\"",
   RANLIB = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\ranlib.exe",
   RC = "C:\\Users\\Windows 10\\scoop\\apps\\mingw\\current\\bin\\windres.exe",
   RM = "rm",
   RMDIR = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/rmdir.exe\"",
   ROCKS_TREE = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/lib/luarocks/rocks-5.1",
   RSYNC = "rsync",
   RSYNCFLAGS = "--exclude=.git -Oavz",
   SCP = "scp",
   SCRIPTS_DIR = "c:\\users\\windows 10\\downloads\\executable\\luarocks\\/bin",
   SEVENZ = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/7z.exe\"",
   SSCM = "sscm",
   SVN = "svn",
   TAR = "tar",
   TOUCH = "touch",
   UNZIP = "unzip -n",
   WGET = "\"C:\\Users\\Windows 10\\Downloads\\executable\\luarocks\\luarocks/tools/wget.exe\"",
   WGETNOCERTFLAG = "--no-check-certificate",
   ZIP = "zip"
}
verbose = false
web_browser = "start"
wrapper_suffix = ".bat"

Also I find out that the cause of Lua 5.1 interpreter not found is probably not caused by admin privileges, but wezterm. Windows is so weird lol

Wezterm with admin privileges:
image

PowerShell 7 desktop app without admin privileges:
image

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Hmm, based on your config it appears to be the correct architecture.

Are you able to run luarocks --server='https://nvim-neorocks.github.io/rocks-binaries/' --local install fzy?

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

I can install it
image

But when I try to do luarocks install rocks.nvim, it still says that fzy is not installed
image

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

But when I try to do luarocks install rocks.nvim, it still says that fzy is not installed

That's because when you run luarocks as an admin, and when you run luarocks as non-admin (with the --local flag), it installs packages to different locations.

If you can install fzy with the --server configuration, you should also be able to run

luarocks --server='https://nvim-neorocks.github.io/rocks-binaries/' --local install rocks.nvim

... but this will install rocks.nvim and its dependencies to a different location than rocks.nvim expects (it uses the --tree flag when invoking luarocks to specify the install directory).

I've pushed the vim.o.sh fix to the installer. Can you try

nvim -u NORC -c "source https://raw.githubusercontent.com/nvim-neorocks/rocks.nvim/master/installer.lua"

again?

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

That's because when you run luarocks as an admin, and when you run luarocks as non-admin (with the --local flag), it installs packages to different locations.

Ah got it. Thank you for the info

I've pushed the vim.o.sh fix to the installer. Can you try

nvim -u NORC -c "source https://raw.githubusercontent.com/nvim-neorocks/rocks.nvim/master/installer.lua"

again?

I will try it again

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

OMGG IT SEEMS IT WORKS
image

I will try and test it out

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

I got this error:

Error detected while processing C:\Users\Windows 10\AppData\Local\nvim\init.lua:
E5112: Error while creating lua chunk: C:\Users\Windows 10\AppData\Local\nvim\init.lua:23: invalid escape sequence near '"C:'

So I manually edit rocks_config.rocks_path to this: C:\\Users\\Windows 10\\AppData\\Local\\nvim-data\\rocks. But then I got this error

Error detected while processing C:\Users\Windows 10\AppData\Local\nvim-data\rocks\lib\luarocks\rocks-5.1\rocks.nvim\2.14.0-1\plugin\rocks.lua:
E5113: Error while calling lua chunk: ...\nvim-data\rocks/share/lua/5.1/rocks\config\internal.lua:51: module 'toml' not found:
	no field package.preload['toml']
	no file '.\toml.lua'
	no file 'C:\Users\Windows 10\scoop\apps\neovim-nightly\current\bin\lua\toml.lua'
	no file 'C:\Users\Windows 10\scoop\apps\neovim-nightly\current\bin\lua\toml\init.lua'
	no file './toml.lua'
	no file './toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\fnl\/toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\fnl\/toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\pack\my\opt\tangerine.nvim\fnl\toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\pack\my\opt\tangerine.nvim\fnl\toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\fnl\toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\fnl\toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\pack\my\opt\oxocarbon.nvim\fnl\toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\pack\my\opt\oxocarbon.nvim\fnl\toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\lua\/toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim\lua\/toml/init.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim-data\rocks/share/lua/5.1/toml.lua'
	no file 'C:\Users\Windows 10\AppData\Local\nvim-data\rocks/share/lua/5.1/toml/init.lua'
	no file '.\toml.dll'
	no file 'C:\Users\Windows 10\scoop\apps\neovim-nightly\current\bin\toml.dll'
	no file 'C:\Users\Windows 10\scoop\apps\neovim-nightly\current\bin\loadall.dll'
	no file 'C:\Users\Windows 10\AppData\Local\nvim-data\rocks/lib/lua/5.1/toml.so'
	no file 'C:\Users\Windows 10\AppData\Local\nvim-data\rocks/lib64/lua/5.1/toml.so'
stack traceback:
	[C]: in function 'require'
	...\nvim-data\rocks/share/lua/5.1/rocks\config\internal.lua:51: in function 'get_rocks_toml'
	...\nvim-data\rocks/share/lua/5.1/rocks\config\internal.lua:71: in function 'get_user_rocks'
	...ta\Local\nvim-data\rocks/share/lua/5.1/rocks\runtime.lua:168: in function 'source_start_plugins'
	...\luarocks\rocks-5.1\rocks.nvim\2.14.0-1\plugin\rocks.lua:28: in main chunk

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Ah, I think I know what's happening.
The installer tells you to set the paths for Linux binaries.

I think if you change ?.so to ?.dll in the luarocks_cpath patterns, it should work.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Somehow neovim crashed

nvim-rocks-forceclose.mp4

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Oof, that's going to be hard for me to troubleshoot without a Windows machine.

I suppose you could go into the rocks.nvim installation and try to comment out parts of the plugin/rocks.lua file, so we can get an idea when it is crashing.

Thanks for all the patience by the way πŸ™

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

I've added a GitHub action for Windows, and I think I can reproduce the crash.

#224

It appears to crash before the log file is created.

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

πŸ€” it looks like it could be crashing even without rocks.nvim (at least my test command isn't printing to stdout [note: I have to redirect stderr because neovim prints to stderr]).

@tembokk are you able to run neovim nightly (without rocks.nvim) on Windows?

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Update: I fixed the init.lua I was using to test, and can confirm it segfaults on Windows.

Now for the difficult task of finding out why...

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

I've tracked down the segfault to a require("toml") call.
It doesn't happen with another library (require("toml_edit")), so I think this is a toml.lua bug.

from rocks.nvim.

tembokk avatar tembokk commented on June 1, 2024

Thank you! So I just need to wait for that PR to be merged right?

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

Thank you! So I just need to wait for that PR to be merged right?

Yes, hopefully that should be the last hurdle.
I've set up a GitHub action with a basic integration test for Windows, so I'll see after it's merged if there's anything else.

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

@tembokk I've removed the toml dependency from the latest release.
My Windows test on GitHub Actions isn't working yet, but you could give it another try.

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

My basic windows integration test just succeeded πŸš€

from rocks.nvim.

mrcjkb avatar mrcjkb commented on June 1, 2024

I've created a separate issue for the installer script: #255

from rocks.nvim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.