Hello! I'm back to awesome after a year of openbox. Latest version I was using was 3.5.7. It works fine now. But I decided to install 4.1 version. All compiled fine, and launched, but crashed:
X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.18.9-gentoo x86_64 Gentoo
Current Operating System: Linux zion 3.18.9-gentoo #22 SMP Mon Apr 10 08:26:46 MSK 2017 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.18.9-gentoo root=/dev/sda4 ro
Build Date: 07 April 2017 12:28:51PM
Current version of pixman: 0.32.6
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.3.log", Time: Fri Apr 28 17:06:14 2017
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
error while running function!
stack traceback:
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/color.lua:15: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/init.lua:10: in main chunk
[C]: in function 'require'
/etc/xdg/awesome/rc.lua:2: in main chunk
error: /usr/local/share/awesome/lib/gears/color.lua:15: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/local/share/lua/5.3/lgi.lua'
no file '/usr/local/share/lua/5.3/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.lua'
no file '/usr/local/lib/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/home/egor/.config/awesome/lgi.lua'
no file '/home/egor/.config/awesome/lgi/init.lua'
no file '/etc/xdg/awesome/lgi.lua'
no file '/etc/xdg/awesome/lgi/init.lua'
no file '/usr/local/share/awesome/lib/lgi.lua'
no file '/usr/local/share/awesome/lib/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
no file '/home/egor/.config/awesome/lgi.so'
no file '/etc/xdg/awesome/lgi.so'
no file '/usr/local/share/awesome/lib/lgi.so'
error while running function!
stack traceback:
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/color.lua:15: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/init.lua:10: in main chunk
[C]: in function 'require'
/usr/local/etc/xdg/awesome/rc.lua:2: in main chunk
error: /usr/local/share/awesome/lib/gears/color.lua:15: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/local/share/lua/5.3/lgi.lua'
no file '/usr/local/share/lua/5.3/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.lua'
no file '/usr/local/lib/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/home/egor/.config/awesome/lgi.lua'
no file '/home/egor/.config/awesome/lgi/init.lua'
no file '/etc/xdg/awesome/lgi.lua'
no file '/etc/xdg/awesome/lgi/init.lua'
no file '/usr/local/share/awesome/lib/lgi.lua'
no file '/usr/local/share/awesome/lib/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
no file '/home/egor/.config/awesome/lgi.so'
no file '/etc/xdg/awesome/lgi.so'
no file '/usr/local/share/awesome/lib/lgi.so'
2017-04-28 17:06:15 E: awesome: main:774: couldn't find any rc file
xinit: connection to X server lost
waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.
Lgi is installed, require from lua script works fine.
uname -a
Linux zion 3.18.9-gentoo #22 SMP Mon Apr 10 08:26:46 MSK 2017 x86_64 AMD A10-5700 APU with Radeon(tm) HD Graphics AuthenticAMD GNU/Linux
Thanks!
Where is your LGI installed to?
What does lua -e 'print(package.cpath)' print? Which of its entries is missing from the list of files in the error message?
require from lua script works fine.
Which Lua version are you trying with? (aka: What does lua -v print?)
From your error message, it sounds like awesome is using Lua 5.3. Perhaps awesome is using another version?
Where is your LGI installed to?
luajit -e 'print(package.cpath)'
./?.so;/usr/local/lib/lua/5.1/?.so;/usr/lib64/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so
Which Lua version are you trying with? (aka: What does lua -v print?)
awesome --version
awesome devel (Technologic)
• Compiled against Lua 5.3.0 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.4
• LGI version: [string "return require('lgi.version')"]:1: module 'lgi.version' not found:
Will try to install 5.1
luajit
Could it be that you built LGI for LuaJIT, but are running awesome with Lua 5.3?
You need LGI built for the same version of Lua as awesome.
Installed lua 5.1. Will rebuild awesome and lgi now.
Strange. Lua is telling, that it's version is:
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
And awesome, recompiled, tells that it is compiled for lua 5.3, witch can't be found in the system.
And awesome, recompiled,
Run rm -rf .build* in the source dir to really, really, really get rid of anything compiled against the "old" version of Lua.
Alternatively: It could be that you have header files for Lua 5.3, but not the interpreter...?
Cloned the repository again, no effect. Lua headers are for version 5.1.5:
cat /usr/include/lua.h
/*
** $Id: lua.h,v 1.218.1.7 2012/01/13 20:36:20 roberto Exp $
** Lua - An Extensible Extension Language
** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
** See Copyright Notice at the end of this file
*/
#ifndef lua_h
#define lua_h
#include <stdarg.h>
#include <stddef.h>
#include "luaconf.h"
#define LUA_VERSION "Lua 5.1"
#define LUA_RELEASE "Lua 5.1.5"
....which makes me wonder how you are compiling lgi for another lua version?
Am, sorry.. witch version is needed for lgi for lua 5.1?
Compiled and installed lgi 8.0. Still no result. The only thing, the error become smaller, but the module is till not in place.
Just a shower thought: it is really bad that Uli's awesomeWM time often gets used up by build issues like this.
We should strive for making it more obvious where and why it fails, especially given that those Lua dependencies are hard to get - or rather easy to not get right.
(FWIW I often still myself struggle when building awesome against luajit or regular Lua, and build dirs get messed up)
Finally, got it. Deleted all lua related binaries, reinstalled all and it works now. Horay!
Wait, it fails again! Why!?
it is really bad that Uli's awesomeWM time often gets used up by build issues like this.
Let's get slightly offtopic:
Upstream intends Lua for embedded purposes and even actually broke use cases like this in an RC (removed the default search path). So one problem that makes things like this harder is that this is not a top priority upstream.
Another things is ABI compatibility: Things built against Lua 5.3 will not work when loaded into Lua 5.1. From https://github.com/awesomeWM/awesome/issues/1757#issuecomment-298011490 we know that adding package.cpath = "./?.so;/usr/local/lib/lua/5.1/?.so;/usr/lib64/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so" to the beginning of rc.lua will make awesome's embedded Lua 5.3 find the LGI built for Lua 5.1. But then the library will fail to load due to ABI incompatibilities.
Next point is CMake: We just use CMake's FindLua and things like
(FWIW I often still myself struggle when building awesome against luajit or regular Lua, and build dirs get messed up)
are mostly a symptom of "CMake isn't all that helpful here either". FindLua can even end up finding headers for Lua version A, but trying to use library version B. Lots of fun follows.
This in turn is partly a symptom of Lua upstream wanting Lua to be embedded. They don't provide pkg-config data file and distros are inconsistent about the name of these. So lots of incompatibilities here again. (Also, CMake "does not believe" in pkg-config and AFAIK just wants to guess where to find things itself.)
Since this is (partly) about LGI: LGI uses a handwritten Makefile which just guesses where it has to install its files to. Even when built against e.g. Lua 5.3, it will assume a 5.1-specific path. The Makefile also completely ignores the issue on where Lua is installed and just assumes that things will work.
This then makes it harder for awesome (or anything else) to even find the right LGI files.
@egordorichev I do not have much helpful advice for you. You could create a new, empty directory, add the following to a file called CMakeLists.txt and run cmake && make afterwards. This tries to do find LGI and print its version in the same way that awesome --version does. I guess it will fail for you. Perhaps it helps if you have "something smaller" to experiment with and to make work.
cmake_minimum_required(VERSION 2.6)
project(LuaTest)
include(FindLua)
file(WRITE testLua.c "#include <stdio.h>\n#include <lualib.h>\n#include<lauxlib.h>\nint main() { lua_State *L = luaL_newstate(); luaL_openlibs(L); luaL_dostring(L, \"return require('lgi.version')\"); printf(\"LGI: %s\\n\", lua_tostring(L, -1)); }")
add_executable(testLua testLua.c)
target_link_libraries(testLua ${LUA_LIBRARIES})
include_directories(${LUA_INCLUDE_DIR})
add_custom_target(RunTest ALL COMMAND testLua DEPENDS testLua)
(No idea about the minimum required CMake version. I just copied that line from a CMake tutorial. My CMake version is 3.7.2.)
Also, building and installing LGI with make all install LUA=5.3 (where 5.3 is your Lua version) might make a difference so that LGI ends up installing to the right directory.
Edit: The above + cmake && make ends with LGI: 0.9.1 here. If I intentionally misspell lgi.version as foo, I get:
LGI: [string "return require('foo')"]:1: module 'foo' not found:
no field package.preload['foo']
no file '/usr/local/share/lua/5.2/foo.lua'
no file '/usr/local/share/lua/5.2/foo/init.lua'
no file '/usr/local/lib/lua/5.2/foo.lua'
no file '/usr/local/lib/lua/5.2/foo/init.lua'
no file '/usr/share/lua/5.2/foo.lua'
no file '/usr/share/lua/5.2/foo/init.lua'
no file './foo.lua'
no file '/usr/local/lib/lua/5.2/foo.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.2/foo.so'
no file '/usr/lib/lua/5.2/foo.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './foo.so'
This is why I believe this small-ish example could help you getting things to work. A lot less moving parts and it only uses CMake and Lua.
And damn, I also have the same issue.
Okay, I've got a dirty fix for this, I'm actually a Slakware user but an arch package worked for me :
On that page there is a x64 bits package of LGI,
https://www.archlinux.org/packages/extra/x86_64/lua-lgi/
Somehow the dude managed to compile it for Lua 5.3, so here it is, delete all traces of Lua from your computer, anything related, build the latest Lua from source, here 5.3, extract the file of the above link to a folder, and as root copy the folders an their content to / and inside /usr/, it should provide a temporary fix and allow you to enjoy a new version of Lua.
So far so good, I tested it with the latest Awesome and it works.
why not just execute the same commands[1] instead of doing such kind of surgery?
[1] https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/lgi#n28
Oops, well both options work. :)
I have the same issue when making awesome from source:
Running make Makefile…
Building…
lua: (command line):1: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/local/share/lua/5.3/lgi.lua'
no file '/usr/local/share/lua/5.3/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.lua'
no file '/usr/local/lib/lua/5.3/lgi/init.lua'
no file '/usr/share/lua/5.3/lgi.lua'
no file '/usr/share/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/lib/i386-linux-gnu/lua/5.3/lgi.so'
no file '/usr/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: in ?
WARNING
=======
The lgi check failed.
The Lua GObject introspection package is just a runtime dependency, so it is not
necessary for building awesome. However, awesome needs it to run.
Add AWESOME_IGNORE_LGI=1 to your environment to continue.
CMakeFiles/lgi-check.dir/build.make:57: recipe for target 'CMakeFiles/lgi-check' failed
make[3]: *** [CMakeFiles/lgi-check] Error 1
@Megidd make sure you have lua5.3-lgi package installed.
if it's not available for your distro, try running commands from arch linux PKGBUILD to build lgi for lua 5.3 (in my previous comment)
@actionless I ended up installing awesome by sudo apt install awesome
@Megidd
I don't know which version of Debian you are using, but my advice is to install the Debian Stretch package of Awesome which is the 4.1, Stable's version is the 3.5 and this one is not longer maintained.
Ah, can fix this with any of the methods. Will try again using portage.
Gentoo must use a different package architecture, which version of Awesome you try to compile and which Lua you try to point LGI at ?
So, my awesome version is 4.1:
awesome devel (Technologic)
• Compiled against Lua 5.3.0 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.4
• LGI version: [string "return require('lgi.version')"]:1: module 'lgi.version' not found:
no field package.preload['lgi.version']
no file '/usr/local/share/lua/5.3/lgi/version.lua'
no file '/usr/local/share/lua/5.3/lgi/version/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/version.lua'
no file '/usr/local/lib/lua/5.3/lgi/version/init.lua'
no file './lgi/version.lua'
no file './lgi/version/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/version.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi/version.so'
no file '/usr/local/lib/lua/5.3/liblgi/version53.so'
no file './liblgi/version53.so'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
I know, that this is a problem with lua 5.3, but it is not istalled! There is only 5.1 and 5.2 in my system.
And lgi version is:
[ebuild R ] dev-lua/lgi-0.9.0
You should remove 5.1 and 5.2 from your system, then track down any lua related remaining files with a quick search and install 5.3 for it to work.
Btw, lgi is invalid since it ain't installed for 5.3, my best advice is to also remove it until you update your Lua
Hm. I've removed all lua versions, and installed 5.3. LGI is also installed (0.9.0). But it is not found:
lua: (command line):1: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/share/lua/5.3/lgi.lua'
no file '/usr/share/lua/5.3/lgi/init.lua'
no file '/usr/lib64/lua/5.3/lgi.lua'
no file '/usr/lib64/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/usr/lib64/lua/5.3/lgi.so'
no file '/usr/lib64/lua/5.3/loadall.so'
no file './lgi.so'
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: in ?
WARNING
=======
The lgi check failed.
The Lua GObject introspection package is just a runtime dependency, so it is not
necessary for building awesome. However, awesome needs it to run.
Add AWESOME_IGNORE_LGI=1 to your environment to continue.
Awesome, we progressed a little bit, now, try to uninstall LGI and to compile it from source, we'll see if it rans into the same 5.1 probelm as it did for me.
Did that. Same error.
Okay, can you provide the compilation output of LGI ?
> make
make -C lgi
make[1]: Entering directory '/home/egor/Downloads/lgi-master/lgi'
pkg-config --exists 'gobject-introspection-1.0 >= 0.10.8' --print-errors
touch .depcheck
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o buffer.o buffer.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o callable.o callable.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o core.o core.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o gi.o gi.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o marshal.o marshal.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o object.o object.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o record.o record.c
cc -shared -o corelgilua51.so buffer.o callable.o core.o gi.o marshal.o object.o record.o -lgirepository-1.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lffi
echo "return '0.9.1'" > version.lua
make[1]: Leaving directory '/home/egor/Downloads/lgi-master/lgi'
> sudo make install
make -C lgi install
make[1]: Entering directory '/home/egor/Downloads/lgi-master/lgi'
mkdir -p /usr/local/lib/lua/5.1/lgi
cp corelgilua51.so /usr/local/lib/lua/5.1/lgi
mkdir -p /usr/local/share/lua/5.1
cp ../lgi.lua /usr/local/share/lua/5.1
mkdir -p /usr/local/share/lua/5.1/lgi
cp component.lua package.lua init.lua class.lua log.lua core.lua version.lua namespace.lua record.lua enum.lua ffi.lua /usr/local/share/lua/5.1/lgi
mkdir -p /usr/local/share/lua/5.1/lgi/override
cp override/GLib-Source.lua override/GObject-Object.lua override/Clutter.lua override/Pango.lua override/GObject-Type.lua override/GLib-Markup.lua override/GLib-Bytes.lua override/GLib-Timer.lua override/Gio.lua override/GLib.lua override/GObject-Closure.lua override/GooCanvas.lua override/Gtk.lua override/Gdk.lua override/cairo.lua override/Gst.lua override/GObject-Value.lua override/GLib-Error.lua override/Gio-DBus.lua override/GLib-Variant.lua override/PangoCairo.lua /usr/local/share/lua/5.1/lgi/override
make[1]: Leaving directory '/home/egor/Downloads/lgi-master/lgi'
What I thought, Lgi's makefile is one of the worst I've ever seen, it doesn't detect your Lua version, so it always installs it for 5.1.
If you actually don't wanna use my dirty fix, try to compile with this option :
make \
LUA_LIBDIR=/usr/lib/lua/5.3 \
LUA_SHAREDIR=/usr/share/lua/5.3 \
Ok, did that:
> make \ LUA_LIBDIR=/usr/lib/lua/5.3 \ LUA_SHAREDIR=/usr/share/lua/5.3
make -C lgi
make[1]: Entering directory '/home/egor/Downloads/lgi-master/lgi'
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o buffer.o buffer.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o callable.o callable.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o core.o core.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o gi.o gi.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o marshal.o marshal.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o object.o object.c
cc -fPIC -pthread -I/usr/include/gobject-introspection-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.0.13/include -Wall -Wextra -O2 -g -c -o record.o record.c
cc -shared -o corelgilua51.so buffer.o callable.o core.o gi.o marshal.o object.o record.o -lgirepository-1.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lffi
make[1]: Leaving directory '/home/egor/Downloads/lgi-master/lgi'
> sudo make install
make -C lgi install
make[1]: Entering directory '/home/egor/Downloads/lgi-master/lgi'
mkdir -p /usr/local/lib/lua/5.1/lgi
cp corelgilua51.so /usr/local/lib/lua/5.1/lgi
mkdir -p /usr/local/share/lua/5.1
cp ../lgi.lua /usr/local/share/lua/5.1
mkdir -p /usr/local/share/lua/5.1/lgi
cp component.lua package.lua init.lua class.lua log.lua core.lua version.lua namespace.lua record.lua enum.lua ffi.lua /usr/local/share/lua/5.1/lgi
mkdir -p /usr/local/share/lua/5.1/lgi/override
cp override/GLib-Source.lua override/GObject-Object.lua override/Clutter.lua override/Pango.lua override/GObject-Type.lua override/GLib-Markup.lua override/GLib-Bytes.lua override/GLib-Timer.lua override/Gio.lua override/GLib.lua override/GObject-Closure.lua override/GooCanvas.lua override/Gtk.lua override/Gdk.lua override/cairo.lua override/Gst.lua override/GObject-Value.lua override/GLib-Error.lua override/Gio-DBus.lua override/GLib-Variant.lua override/PangoCairo.lua /usr/local/share/lua/5.1/lgi/override
make[1]: Leaving directory '/home/egor/Downloads/lgi-master/lgi'
Fine then, have you installed your Lua version from a package or did you compiled it ?
I've installed Lua 5.3.3 using portage.
You should uninstall it and compile it from source, just for the directories.
Your issue is almost solved man, no worry :smile:
Ok, doing that. Do I need to reinstall everything?
No, almost done, the next step is just concerning lgi and everything should be fine.
So, what i did:
Running cmake…
-- git -> /usr/bin/git
-- asciidoc -> /usr/bin/asciidoc
-- xmlto -> /usr/bin/xmlto
-- gzip -> /bin/gzip
-- ldoc not found.
-- ldoc.lua not found.
-- Not generating API documentation. Missing: ldoc.
-- convert -> /usr/bin/convert
-- Checking for module 'glib-2.0>=2.40'
-- Found glib-2.0, version 2.50.3
-- Checking for module 'gdk-pixbuf-2.0'
-- Found gdk-pixbuf-2.0, version 2.30.8
-- Checking for module 'cairo'
-- Found cairo, version 1.14.2
-- Checking for module 'x11'
-- Found x11, version 1.6.2
-- Checking for module 'xcb-cursor'
-- Found xcb-cursor, version 0.1.1
-- Checking for module 'xcb-randr'
-- Found xcb-randr, version 1.11
-- Checking for module 'xcb-xtest'
-- Found xcb-xtest, version 1.11
-- Checking for module 'xcb-xinerama'
-- Found xcb-xinerama, version 1.11
-- Checking for module 'xcb-shape'
-- Found xcb-shape, version 1.11
-- Checking for module 'xcb-util>=0.3.8'
-- Found xcb-util, version 0.4.0
-- Checking for module 'xcb-keysyms>=0.3.4'
-- Found xcb-keysyms, version 0.4.0
-- Checking for module 'xcb-icccm>=0.3.8'
-- Found xcb-icccm, version 0.4.1
-- Checking for module 'xcb-xkb'
-- Found xcb-xkb, version 1.11
-- Checking for module 'xkbcommon'
-- Found xkbcommon, version 0.5.0
-- Checking for module 'xkbcommon-x11'
-- Found xkbcommon-x11, version 0.5.0
-- Checking for module 'cairo-xcb'
-- Found cairo-xcb, version 1.14.2
-- Checking for module 'libstartup-notification-1.0>=0.10'
-- Found libstartup-notification-1.0, version 0.12
-- Checking for module 'xproto>=7.0.15'
-- Found xproto, version 7.0.31
-- Checking for module 'libxdg-basedir>=1.0.0'
-- Found libxdg-basedir, version 1.2.0
-- Checking for module 'xcb-xrm'
-- Found xcb-xrm, version 1.0
-- checking for execinfo -- found
-- checking for round -- in libm
-- busted not found.
-- luacheck not found.
Unable to deduce a meaningful version number. Set OVERRIDE_VERSION when you run CMake (cmake .. -DOVERRIDE_VERSION=3.14.159), or just build from a git repository.
-- Package version will be set to 0.0.0.
-- rpmbuild not found.
-- The 'package' target will not build a RPM
-- dpkg -> /usr/bin/dpkg
-- dpkg found, enabling DEB for the 'package' target
-- Configuring done
-- Generating done
-- Build files have been written to: /home/egor/Downloads/awesome-master/.build-zion-x86_64-pc-linux-gnu-4.9.4
Running make Makefile…
Building…
lua: (command line):1: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/local/share/lua/5.3/lgi.lua'
no file '/usr/local/share/lua/5.3/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.lua'
no file '/usr/local/lib/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: in ?
WARNING
=======
The lgi check failed.
The Lua GObject introspection package is just a runtime dependency, so it is not
necessary for building awesome. However, awesome needs it to run.
Add AWESOME_IGNORE_LGI=1 to your environment to continue.
make[3]: *** [CMakeFiles/lgi-check.dir/build.make:57: CMakeFiles/lgi-check] Error 1
make[2]: *** [CMakeFiles/Makefile2:208: CMakeFiles/lgi-check.dir/all] Error 2
make[1]: *** [Makefile:150: all] Error 2
make: *** [Makefile:28: cmake-build] Error 2
I've installed lgi with three commands:
make clean
make
sudo make install
Downloaded lua 5.3.4 from their site
You should have kept the portage version for both Lua and LGI, installing thing by hand is what created this problem in the first place.
Recompiled and installed lgi
If lua is in /usr/local and LGI in /usr/, then that wont work, you need to have matching prefixes.
If I were you, I would delete everything in /usr that isn't managed by portage and enjoy things that "just works" again. emerge awesome on a clean Gentoo system works just fine. Also make sure printenv doesn't have any Lua related variables. Some apps, like torch are known to mess systems that way.
So, lua is here:
/usr/local/lib64/lua
And lgi is here:
/usr/local/lib/lua/5.1/lgi
So can I just set install path for LGI to /usr/local/lib64/lua?
If you installed lua from source you can simply paste the Arch package like I said above. You probably don't even need to delete lgi anymore, the compilation has placed lua right where it should be to apply the arch package.
@Elv13 I severely disagree, while awesome will run, it will do with outdated unmatching libraries.
@egordorichev LGI needs to be installed not for 5.1 but for 5.3.x, since someone managed to compile the package for that version, the solution I proposed above should work.
(I know what I'm talking about, I had the same issue like two days ago and it is now solved :smile: )
simply paste the Arch package like I said above
Sorry, do you mean, install it by package manager? Or what is the Arch package?
https://www.archlinux.org/packages/extra/x86_64/lua-lgi/
Download, unpack, and as root copy in /usr and in /usr/local
@Elv13 I severely disagree
The /usr prefix is used for files managed by the operating system. /usr/local or /opt are where manually installed software should be installed. If you start to mix both managed and random thing in /usr, especially on Gentoo, all you will get is compilation errors and these issues. Remember, in Gentoo, everything is compiled. That means all ./configure or cmake commands will perform lookups. If they happen to select the wrong versions because it find them first: chaos.
In Slackware too dude. However for some reason in my case it also searched in /usr...
https://www.archlinux.org/packages/extra/x86_64/lua-lgi/
Download, unpack, and as root copy in /usr and in /usr/local
Mixing software compiled for a different distribution with potentially incompatible ABI is a terrible idea.
Well, Slackware and Arch are pretty close, even withe the package architecture, so everything worked and still works flawlessly for me. LGI ain't a system breaking library, in case of incompatibility it still can be easily removed, it costs nothing to try in my opinion.
But Slackware and Gentoo are not, so this is irrelevant to this discussion. In Gentoo, they automatically close bug report if you did that kind of hacks.
LGI is just a library that has to find it's path inside the lua directory...
Anyway, as previously mention by actionless, the build file can be edited with some of the instructions of this one
https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/lgi#n28
which successfully produces a Gentoo compatible package and not an arch one.
The lines to use are from lines 25 to 30...
Bon courage...
So, @Incognito4nonymous and @Elv13, what I should do?
It's all up to you dude.
This is off topic. Gentoo allows to change things like the ABI, do pre-linking or favor static libraries instead of dynamic ones. If you start to mess with any of that by mixing user files with managed ones, you will destroy the system. Advising people to do that because "oh, it's just LGI" is wrong.
So, @Incognito4nonymous and @Elv13, what I should do?
I think you already poluted /usr and this is what got you to open this issue. Clean your /usr and thing should start working again. I use Gentoo and I confirm the packages work. If they don't work, then you did something or installed something that broke other thing.
So okay, I'm gonna try to compile the package with custom build options and see if it produces a 5.3 lgi, if it does I'll just post the solution here.
I had the same issue with a totally clean and vanilla /usr btw. :smiley:
EDIT :
So yeah, building the package with
make
LUA_LIBDIR=/usr/lib/lua/5.3
LUA_SHAREDIR=/usr/share/lua/5.3
DESTDIR="$pkgdir/" install
also produces a 5.3 lgi, compatible with awesome.
You should now enjoy an Awesome desktop.
Man, the lgi dude really needs to fix his lua dection system. :man_facepalming:
Hm, doesn't work for me. I've recompiled both lgi and awesome with those flags, same error:
lua: (command line):1: module 'lgi' not found:
no field package.preload['lgi']
Copy paste lines 27 to 30 in your terminal as root and it should work.
Or the other way, downgrade lua to 5.1 and install the lgi package if you're tired of the problem.
Copy paste lines 27 to 30 in your terminal as root and it should work.
Ah, i'm so sorry, i'm being so stupid. Whitch files contains those lines? Can't get you.
lgi-0.9.1 $ sudo make LUA_LIBDIR=/usr/lib/lua/5.3 LUA_SHAREDIR=/usr/share/lua/5.3 DESTDIR="$pkgdir/" install
make -C lgi install
make[1]: Entering directory '/home/egor/Downloads/lgi-0.9.1/lgi'
mkdir -p //usr/lib/lua/5.3/lgi
cp corelgilua51.so //usr/lib/lua/5.3/lgi
mkdir -p //usr/share/lua/5.3
cp ../lgi.lua //usr/share/lua/5.3
mkdir -p //usr/share/lua/5.3/lgi
cp component.lua package.lua init.lua class.lua log.lua core.lua version.lua namespace.lua record.lua enum.lua ffi.lua //usr/share/lua/5.3/lgi
mkdir -p //usr/share/lua/5.3/lgi/override
cp override/GLib-Source.lua override/GObject-Object.lua override/Clutter.lua override/Pango.lua override/GObject-Type.lua override/GLib-Markup.lua override/GLib-Bytes.lua override/GLib-Timer.lua override/Gio.lua override/GLib.lua override/GObject-Closure.lua override/Gtk.lua override/Gdk.lua override/cairo.lua override/Gst.lua override/GObject-Value.lua override/GLib-Error.lua override/Gio-DBus.lua override/GLib-Variant.lua override/PangoCairo.lua //usr/share/lua/5.3/lgi/override
make[1]: Leaving directory '/home/egor/Downloads/lgi-0.9.1/lgi'
And the same error:
Building…
[ 2%] Built target generated_sources
lua: (command line):1: module 'lgi' not found:
no field package.preload['lgi']
no file '/usr/local/share/lua/5.3/lgi.lua'
no file '/usr/local/share/lua/5.3/lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.lua'
no file '/usr/local/lib/lua/5.3/lgi/init.lua'
no file './lgi.lua'
no file './lgi/init.lua'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
Whoops damn, my bad, the LUA_SHAREDIR should be set on /usr/local/share/lua/5.3
My bad, that and everything should be solved.
also, after you will figure the stuff out, i would recommend you to submit/share your ebuild for lua5.3-lgi to make life of other people who could encounter that a little bit more easier
also, after you will figure the stuff out, i would recommend you to submit/share your ebuild for lua5.3-lgi to make life of other people who could encounter that a little bit more easier
Gentoo is still stuck on Lua 5.1: https://bugs.gentoo.org/show_bug.cgi?id=407091 (and no, I do not know why @egordorichev has a newer Lua than that)
That's because, i've build lua 5.3 from source.
You should uninstall it and compile it from source, just for the directories.
Whoops damn, my bad, the LUA_SHAREDIR should be set on /usr/local/share/lua/5.3
My bad, that and everything should be solved.
Oh, that's solved the issue! Thank you, @Incognito4nonymous! :tada:
But, here is a new one, again, with LGI:
error while running function!
stack traceback:
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/core.lua:14: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/init.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/color.lua:15: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/init.lua:10: in main chunk
[C]: in function 'require'
/home/egor/.config/awesome/rc.lua:2: in main chunk
error: /usr/local/share/lua/5.3/lgi/core.lua:14: module 'lgi.corelgilua51' not found:
no field package.preload['lgi.corelgilua51']
no file '/usr/local/share/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/share/lua/5.3/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51/init.lua'
no file './lgi/corelgilua51.lua'
no file './lgi/corelgilua51/init.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51/init.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51/init.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/liblgi/corelgilua5153.so'
no file './liblgi/corelgilua5153.so'
no file '/home/egor/.config/awesome/lgi/corelgilua51.so'
no file '/etc/xdg/awesome/lgi/corelgilua51.so'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
no file '/home/egor/.config/awesome/lgi.so'
no file '/etc/xdg/awesome/lgi.so'
no file '/usr/local/share/awesome/lib/lgi.so'
error while running function!
stack traceback:
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/core.lua:14: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/init.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/color.lua:15: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/init.lua:10: in main chunk
[C]: in function 'require'
/etc/xdg/awesome/rc.lua:2: in main chunk
error: /usr/local/share/lua/5.3/lgi/core.lua:14: module 'lgi.corelgilua51' not found:
no field package.preload['lgi.corelgilua51']
no file '/usr/local/share/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/share/lua/5.3/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51/init.lua'
no file './lgi/corelgilua51.lua'
no file './lgi/corelgilua51/init.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51/init.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51/init.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/liblgi/corelgilua5153.so'
no file './liblgi/corelgilua5153.so'
no file '/home/egor/.config/awesome/lgi/corelgilua51.so'
no file '/etc/xdg/awesome/lgi/corelgilua51.so'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
no file '/home/egor/.config/awesome/lgi.so'
no file '/etc/xdg/awesome/lgi.so'
no file '/usr/local/share/awesome/lib/lgi.so'
error while running function!
stack traceback:
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/core.lua:14: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi/init.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.3/lgi.lua:19: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/color.lua:15: in main chunk
[C]: in function 'require'
/usr/local/share/awesome/lib/gears/init.lua:10: in main chunk
[C]: in function 'require'
/usr/local/etc/xdg/awesome/rc.lua:2: in main chunk
error: /usr/local/share/lua/5.3/lgi/core.lua:14: module 'lgi.corelgilua51' not found:
no field package.preload['lgi.corelgilua51']
no file '/usr/local/share/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/share/lua/5.3/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51/init.lua'
no file './lgi/corelgilua51.lua'
no file './lgi/corelgilua51/init.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51.lua'
no file '/home/egor/.config/awesome/lgi/corelgilua51/init.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51.lua'
no file '/etc/xdg/awesome/lgi/corelgilua51/init.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.lua'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/liblgi/corelgilua5153.so'
no file './liblgi/corelgilua5153.so'
no file '/home/egor/.config/awesome/lgi/corelgilua51.so'
no file '/etc/xdg/awesome/lgi/corelgilua51.so'
no file '/usr/local/share/awesome/lib/lgi/corelgilua51.so'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
no file '/usr/local/lib/lua/5.3/liblgi53.so'
no file './liblgi53.so'
no file '/home/egor/.config/awesome/lgi.so'
no file '/etc/xdg/awesome/lgi.so'
no file '/usr/local/share/awesome/lib/lgi.so'
2017-06-10 15:12:10 E: awesome: main:814: couldn't find any rc file
xinit: connection to X server lost
seems you need to also pass some params to make not only make install
it seems what it built lgi for lua5.1 but put it into dirs of lua5.3
Awesome version:
awesome devel (Technologic)
• Compiled against Lua 5.3.0 (running with Lua 5.3)
• D-Bus support: ✔
• execinfo support: ✔
• xcb-randr version: 1.4
• LGI version: 0.9.1
try to replace everywhere in their makefile hardcoded lua 5.1 (and so 51) :
https://github.com/pavouk/lgi/blob/master/lgi/Makefile
and rebuild again
oh, wait, mb it could be a better way:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=luajit-lgi#n23
try passing LUA_INCDIR and LUA_CFLAGS for lua 5.3 to make before make install
Done your first suggestion. Same result.
no file '/usr/local/lib/lua/5.3/lgi/corelgilua51.so'
I would expect the above to be the right file. Where did the .so end up being installed to? Instead of rebuilding again, I would rather suggest find /usr/local -name corelgilua5.1.so to find this file.
@actionless Well, apparently it built correctly, didn't it?
it seems what it built lgi for lua5.1 but put it into dirs of lua5.3
Are you saying this because of the file name corelgilua5.1.so? If so, then just ignore that.
find /usr/local -name corelgilua5.1.so
0
Sorry, typo on my side: find /usr/local -name corelgilua51.so (it is "51" instead of "5.1").
Alternatively, do you happen to have a pastebin of the output of make install for lgi?
Are you saying this because of the file name corelgilua5.1.so? If so, then just ignore that.
not only, i've just took a look in their makefile and it seems to me what that is what will happen if run make without any variable
Alternatively, do you happen to have a pastebin of the output of make install for lgi?
cp corelgilua51.so //usr/lib/lua/5.3/lgi
cp corelgilua51.so //usr/lib/lua/5.3/lgi
Heh. :-) So now we know where the file is. Easiest workaround could be a symlink: sudo ln -s //usr/lib/lua/5.3/lgi/corelgilua51.so /usr/local/lib/lua/5.3/lgi/corelgilua51.so.
I'll leave the hassle with the Makefile to @actionless .
sudo make LUA_LIBDIR=/usr/lib/lua/5.3 LUA_SHAREDIR=/usr/local/share/lua/5.3 DESTDIR="$pkgdir/" install
you passing wrong LUA_LIBDIR, should be /usr/local/lib/lua/5.3
Heh. :-) So now we know where the file is. Easiest workaround could be a symlink: sudo ln -s //usr/lib/lua/5.3/lgi/corelgilua51.so /usr/local/lib/lua/5.3/lgi/corelgilua51.so.
Thanks! That worked out! Now I have awesome running :) Thanks, @everyone!
@psychon when god of package managers will come to you in the nightmares you'll be suffering quite much for your make install / ln -s suggestions ;)
Thanks, @everyone
We are Everyone, a digital communications agency based in Glasgow, Scotland.
Holy crap, pavouk Really, Really needs to update LGI
@Incognito4nonymous What does he need to update LGI for? I.e. which part of it is outdated? If you mean that LGI should install to another path... well, which? The only "portable" way to install something in the Lua eco system that I know of is "use LuaRocks". Well, LGI is available through LuaRocks. So, what else could be done?
@psychon when god of package managers will come to you in the nightmares you'll be suffering quite much for your make install / ln -s suggestions ;)
Why "package managers"? There is no package manager involved here and I doubt that "make install" has a god". :-P
There is no package manager involved here
that's the point, i think on gentoo writing own ebuild is more a way to go, but nevermind, it was sorta joke
@psychon Actually dude there's the same issue on LuaRocks, it is actually the first fix I have tried for that problem :yum:
Hello. I faced the same problem. How to solve it?
I use:
Linux Mint 4.10.0-38-generic # 42 ~ 16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux
I wanted to build the master awesome branch from the source, removed all the dependencies, but the installation script cannot find lgi. In my distribution architecture, there’s not even such a folder.
Team output
whereis lua:
lua: /usr/bin/lua5.2 / usr / bin / lua /usr/include/lua5.2 /usr/include/lua5.1 /usr/include/lua5.3 /usr/share/lua5.3 / usr / share / lua /usr/share/man/man1/lua.1.gz
I even installed luaver utility for changing lua versions, as I previously assumed that it was a lua version. How can I solve the problem? How does the installer give a different path to the GLI?
The old version of Awesome from the Mint repositories has problems with the Russian layout - the panel stops responding to clicks and somehow changes. I decided to compile from repositories. The assembly displays an error (part of the output):
Error: [string "print (string.format ('Building for% s.', Jit a ..."]: 2: module 'lgi.version' not found:
no field package.preload ['lgi.version']
no file '/usr/local/share/lua/5.3/lgi/version.lua'
no file '/usr/local/share/lua/5.3/lgi/version/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/version.lua'
no file '/usr/local/lib/lua/5.3/lgi/version/init.lua'
no file '/usr/share/lua/5.3/lgi/version.lua'
no file '/usr/share/lua/5.3/lgi/version/init.lua'
no file './lgi/version.lua'
no file './lgi/version/init.lua'
no file '/usr/local/lib/lua/5.3/lgi/version.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.3/lgi/version.so'
no file '/usr/lib/lua/5.3/lgi/version.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi/version.so'
no file '/usr/local/lib/lua/5.3/lgi.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.3/lgi.so'
no file '/usr/lib/lua/5.3/lgi.so'
no file '/usr/local/lib/lua/5.3/loadall.so'
no file './lgi.so'
Can I somehow change the paths for LGI Lua in the installer file and will everything work correctly then? How can I solve this problem? How do I install awesome?
I went a "huge" way satisfying all the dependencies, I spent time on this, but at the last step there was such a problem.
I reread this thread, but did not understand how I can solve the problem. There are users of Gentoo, Arch and other distributions, but I have Linux/GNU Mint (Ubuntu-based system) installed.
Thanks for watching.
According to https://repology.org/project/lua:lgi/versions, Linux Mint does not have any LGI packages. How did you get LGI?
Does any of the following work / find LGI?
lua -e 'print(require("lgi.version"))'/usr/bin/lua5.1 -e 'print(require("lgi.version"))'/usr/bin/lua5.2 -e 'print(require("lgi.version"))'/usr/bin/lua5.3 -e 'print(require("lgi.version"))'Is there some other Lua version in the output of ls /usr/bin/lua*?
According to https://repology.org/project/lua:lgi/versions, Linux Mint does not have any LGI packages. How did you get LGI?
Does any of the following work / find LGI?
lua -e 'print(require("lgi.version"))'/usr/bin/lua5.1 -e 'print(require("lgi.version"))'/usr/bin/lua5.2 -e 'print(require("lgi.version"))'/usr/bin/lua5.3 -e 'print(require("lgi.version"))'Is there some other Lua version in the output of
ls /usr/bin/lua*?
lua -e 'print(require("lgi.version"))'
0.9.0
lua -v
Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
ls /usr/bin/
luac
luac5.2
lucli
luit
lupdate
No more Lua versions in /usr/bin/ .
I no longer know exactly how I got the LGI package: I could connect the PPA repository, could install the deb package from a Debian or Ubuntu system. I put applications from different sources, but I do not have problems usually. System dependency checking Linux/GNU Mint copes. Sometimes the control system refuses to put Deb packets without explanation.
I looked through the Synaptic(package Manager) at the lua-lgi and lua-lgi-dev file properties. In the properties of the packages written by the maintainer: Ubuntu Developer. Lua-lgi is installed(except other places) in /usr/share/lua/5.1/lgi and in /usr/share/lua/5.2/lgi . The version of lua-lgi: 0.9.0.20151101 .
I installed the utility luaver to install the version of lua 5.3. But as I understand it: After rebooting the operating system lua has a version installed from the system repositories.
$ whereis lua
lua: /usr/bin/lua5.2 /usr/bin/lua /usr/include/lua5.2 /usr/include/lua5.1 /usr/include/lua5.3 /usr/share/lua5.3 /usr/share/lua /usr/share/man/man1/lua.1.gz
/usr/share/lgi/5.3/ contains only one file: re.lua . /usr/share/lua5.3 contains one file: version-script.
/usr/share/lua/5.2 and /usr/share/lua/5.1 contains lgi folder.
Most helpful comment
Just a shower thought: it is really bad that Uli's awesomeWM time often gets used up by build issues like this.
We should strive for making it more obvious where and why it fails, especially given that those Lua dependencies are hard to get - or rather easy to not get right.
(FWIW I often still myself struggle when building awesome against luajit or regular Lua, and build dirs get messed up)