Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Dec 06 02:22
    raulcejas04 commented #1366
  • Dec 03 05:01
    daurnimator commented #1369
  • Dec 03 04:17
    XVilka commented #1369
  • Dec 02 01:47
    arichard4 commented #1370
  • Dec 01 14:20
    rboy1 commented #1287
  • Dec 01 11:24
    siffiejoe commented #1287
  • Dec 01 07:12
    Tieske commented #1287
  • Dec 01 06:17
    scls19fr commented #1359
  • Dec 01 00:14
    licktheroom commented #1359
  • Nov 30 17:07
    rboy1 commented #1287
  • Nov 30 17:03
    rboy1 commented #1365
  • Nov 30 07:05
    hishamhm commented #1370
  • Nov 30 07:05

    hishamhm on master

    Improve performance of reading … (compare)

  • Nov 30 07:05
    hishamhm closed #1370
  • Nov 30 07:01
    hishamhm commented #1369
  • Nov 30 06:57
    hishamhm closed #1366
  • Nov 30 06:57
    hishamhm commented #1366
  • Nov 30 06:54
    hishamhm closed #1365
  • Nov 30 06:54
    hishamhm commented #1365
  • Nov 30 06:45
    hishamhm closed #1361
hey hisham i got a question regarding luarocks's init command. It looks like the lua script that it comes with it's not picking up lua_modules? I'm running lua 5.3 and luarocks 3.7.0. thanks

LUAROCKS_SYSCONFDIR='/usr/local/etc/luarocks' exec '/usr/bin/lua5.3' -e 'package.path="/home/mrtn/.luarocks/share/lua/5.3/?.lua;/home/mrtn/.luarocks/share/lua/5.3/?/init.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;"..package.path;package.cpath="/home/mrtn/.luarocks/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/?.so;"..package.cpath' $([ "$*" ] || echo -i) "$@"
that's the one i got on a fresh init
Caleb Maclennan
Anybody have good examples of LuaRocks being published from GitHub Actions handy?
ghosttown that's odd! It should have picked it up! maybe some environment variable is messing things up?
perhaps this may be useful, @alerque :
I don't think it publishes rocks, but once luarocks is setup in the environment it may be a matter of running luarocks upload (and maybe luarocks new_version to generate a new rockspec?) and storing your API key as an environment secret
I have next to no experience with Github Actions but I've seen similar things done with Travis CI in the past
Caleb Maclennan
Thanks @hisham_hm:matrix.org. I'm already a prolific gh-actions-luarocks user :smiley_cat:. I was just looking for something with a workflow that included luarocks upload to compare notes with to make sure I wasn't overlooking something.
Matthieu Coudron
if I install a package with lua_modules_path = "" then it installs with a flat hierarchy except for the files referenced by the rockspec's copy_directories field (they are in name-version-rocks/name/version). Would that make sense to install them at the root too ?
[help] i use luarocks on termux.I want to install 'xml' but maybe termux has no STDCPP (libstdc++)
Installing https://luarocks.org/lua-requests-1.2-2.src.rock
Missing dependencies for lua-requests 1.2-2:
xml (not installed)
luasec >= 0.5.1, < 0.8-1 (1.0.2-1 installed)
lua-requests 1.2-2 depends on xml (not installed)
Installing https://luarocks.org/xml-1.1.3-1.src.rock
Error: Failed installing dependency: https://luarocks.org/xml-1.1.3-1.src.rock - Could not find library file for STDCPP
No file libstdc++.a in /data/data/com.termux/files/usr/local/lib
No file libstdc++.a in /data/data/com.termux/files/usr/local/lib64
No file libstdc++.so in /data/data/com.termux/files/usr/local/lib
No file libstdc++.so in /data/data/com.termux/files/usr/local/lib64
No file matching libstdc++.so.* in
No file matching libstdc++.so.* in
No file libstdc++.a in /data/data/com.termux/files/usr/lib
No file libstdc++.a in /data/data/com.termux/files/usr/lib64
No file libstdc++.so in /data/data/com.termux/files/usr/lib
No file libstdc++.so in /data/data/com.termux/files/usr/lib64
No file matching libstdc++.so.* in /data/data/com.termux/files/usr/lib
No file matching libstdc++.so.* in /data/data/com.termux/files/usr/lib64

You may have to install STDCPP in your system and/or pass STDCPP_DIR or STDCPP_LIBDIR to the luarocks command.

Example: luarocks install xml STDCPP_DIR=/usr/local
im very new lua. so I tripped at installing lua-requests. I want to know how to make lua xml on termux or how to build lua xml except for using 'STDCPP'.
Thadeu de Paula

@dauuricus why you don't install the luarocks and lua packages for termux? Termux is a little tricky as it is not a standard OS environment, just a workaround to use Unix/Linux packages and provide a terminal under Android. So... the the compilations have to follow specific configuration that may be not the scope of the Luarocks developers.

You can install Lua and Luarocks with:
pkg install luarocks lua53

Note that the termux doesn't create the correct link for interpreter, so you will need to do it by hand:

ln -sf  /data/data/com.termux/files/usr/bin/lua5.3  /data/data/com.termux/files/usr/bin/lua`
ln -sf  /data/data/com.termux/files/usr/bin/luac5.3  /data/data/com.termux/files/usr/bin/luac`

I dit it in my termux and it's ok.... Then I tried to install cqueues as in your message:

luarocks install cqueues

The error message was:

~ $ luarocks install cqueues
Installing https://luarocks.org/cqueues-20200726.53-0.src.rock
Error: This rockspec for cqueues does not support unix platforms.

It occurs because the package (rock) cqueues says it can be installed in Unix. Maybe you'll need to use other rock instead of http (as it depends on cqueues) to do what you want if you wanna go with Termux or other Unix platform.

1 reply
i use both.
pkg luarocks ,pkg lua53
1 reply
(lua) xml has done :)
luarocks imstall xml STDCPP_LIBDIR=/system/lib
cqueues case :
i cant get that error message '...unix'
gcc -O2 -std=gnu99 -fPIC -g -Wall -Wextra -Wno-missing-field-initializers -Wno-initializer-overrides -Wno-unused -Wno-dollar-in-identifier-extension -O2 -fPIC -DLUA_COMPAT_APIINTCASTS  -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -I"/data/data/com.termux/files/usr/include" -I"/data/data/com.termux/files/usr/include" -DCOMPAT53_PREFIX=cqueues -DCQUEUES_VENDOR='"quae@daurnimator.com"' -DCQUEUES_VERSION=20200726L  -c -o /data/data/com.termux/files/usr/tmp/luarocks_cqueues-20200726.53-0-6994475/cqueues-rel-20200726/src/5.3/cqueues.o /data/data/com.termux/files/usr/tmp/luarocks_cqueues-20200726.53-0-6994475/cqueues-rel-20200726/src/cqueues.c
/data/data/com.termux/files/usr/tmp/luarocks_cqueues-20200726.53-0-6994475/cqueues-rel-20200726/src/cqueues.c:47:10: fatal error: 'lua.h' file not found
#include <lua.h>
1 error generated.
18 replies
but http has other problem.i tried few days before on chromebook armcore on contenair linux.
'http' problem is 'sa' file.
same as Nim on termux case.
i wrote http simple request code but erorr was same as Nim on termux. sa <-- X ,ca
hello. Can anyone explain to me why lua-cjson .so file as packaged by Debian and Ubuntu does not need to link to liblua.so ?
eduardas@eduardas-Battlestation:/usr/lib/x86_64-linux-gnu$ ldd liblua5.1-cjson.so.0
        linux-vdso.so.1 (0x00007fff7f3cd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3435d4c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3436167000)
Am I wrong for using the -llua flag when building my own Lua binding .so files?
Same for the binaries provided by Luarocks like luaposix.
eduardas@eduardas-Battlestation:~/.luarocks/lib/lua/5.3/posix$ ldd stdio.so
        linux-vdso.so.1 (0x00007ffec7cbf000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f09df2a0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f09df4b8000)
eduardas@eduardas-Battlestation:~/.luarocks/lib/lua/5.3/posix$ nm -gD stdio.so
                 U ctermid
                 w __cxa_finalize
                 U __errno_location
                 U fclose
                 U fdopen
                 U fileno
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U lua_createtable
                 U lua_getfield
                 U lua_gettop
                 U lua_isinteger
                 U luaL_argerror
                 U luaL_checklstring
                 U luaL_checkudata
                 U luaL_checkversion_
                 U luaL_fileresult
                 U luaL_setfuncs
                 U lua_newuserdata
0000000000001860 T luaopen_posix_stdio
                 U lua_pushfstring
                 U lua_pushinteger
                 U lua_pushnil
                 U lua_pushstring
                 U lua_setfield
                 U lua_setmetatable
                 U lua_settop
                 U lua_tointegerx
                 U lua_tolstring
                 U lua_type
                 U lua_typename
                 U rename
                 U __stack_chk_fail
                 U strerror
Lua modules packaged by Debian are not built with LuaRocks, and I believe they do not contain LuaRocks metadata, so they are not compatible with LuaRocks either
@hisham_hm:matrix.org That was not my point. My point was that neither the Luarocks .so files nor the Debian .so files for Lua modules would link to liblua.so
But after asking around on the lua channel at libera.chat people pointed out that Lua modules that get loaded by a lua script do not really need to be linked to liblua.so to work
Though most distros have a liblua.so
The runtime linker resolves the symbols once the Lua VM loads the module
liblua.so serves another purpose, it is to link the Lua VM into applications
Supposedly the distro liblua.so is intended for applications that want to execute Lua scripts themselves, i.e. have an embedded interpreter.
@hisham_hm:matrix.org yes, that is what I was told, but that was not obvious to a Lua novice such as I
That's correct!
I think there are quite a few tutorials around for Lua bindings where people do an -llua flag for a custom module even though they don't need to
@hisham_hm:matrix.org Just out of curiosity: does Luarocks ship its own liblua.so for apps or libraries that need an embedded Lua VM?
No, LuaRocks is just the package manager, not a distribution of the Lua VM itself
@hisham_hm:matrix.org thank you for answering. this is useful to know
Matthieu Coudron
I am trying to install https://luarocks.org/modules/openresty/lua-cjson/ with as luarocks config lua_modules_path = ".". At the end I move the copy_directories back at the root of the tree to mimic a vim plugin (I am working on using luarocks to install neovim plugins). The copy fails because the installed copy_directories contains a bin folder but https://luarocks.org/manifests/openresty/lua-cjson- doesn't list a bin folder ? the bin folder is listed in a rock_manifest file though. (using luarocks 3.7). Any idea as to why ?
build.install.lua and copy_directories folders are installed in the same folder then ? Is there a configuration entry to change that path ?
➜ ls /nix/store/87fb1fncnbnm105rbc8ndapy5qwpjxmi-lua5.2-lua-cjson-
bin/                          lua-cjson-  rock_manifest                 tests/
Matthieu Coudron
luarocks make --help exposes a --no-manifest option but it doesn't used afterwards. src/luarocks/cmd.lua has if args.no_manifest then cfg.no_manifest = true end but I can't find a way to turn the flag off, it always says Error: unknown option '--no-manifest' in luarocks --no-manifest make ... (3.7)
Hisham Muhammad
@teto this sounds like a bug! could you file an issue? thank you!