love-release - in Lua ! - makes LÖVE game release easier

Showcase your libraries, tools and other projects that help your fellow love users.
davisdude
Party member
Posts: 1154
Joined: Sun Apr 28, 2013 3:29 am
Location: North Carolina

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by davisdude »

Does the script have to be for Lua 5.1? For various reasons, I'm unable to install luarocks with lua 5.1 and get it to work, yet with 5.2 it works without any issues.
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim
User avatar
Rucikir
Party member
Posts: 129
Joined: Tue Nov 05, 2013 6:33 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by Rucikir »

No, the script does not have to be for Lua 5.1. I wanted to stay as close to LÖVE as possible and of course, the script is should be compatible with all Lua versions.
I will upload a version-agnostic script.
User avatar
shru
Prole
Posts: 26
Joined: Mon Sep 28, 2015 3:56 am
Location: Hyperborea
Contact:

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by shru »

Rucikir wrote: Wed Mar 22, 2017 5:43 pm I can't really help you with the zip_get_error. My guess from looking at https://tracker.debian.org/pkg/libzip is that Debian does not provide the latest version of the library, where zip_get_error is defined. Sorry !
I think this guess is correct. I was having trouble running love-release under Debian and was getting the exact same error:

Code: Select all

/usr/bin/lua5.1: /usr/share/lua/5.1/luarocks/loader.lua:117: error loading module 'brimworks.zip' from file '/usr/local/lib/lua/5.1/brimworks/zip.so':
        /usr/local/lib/lua/5.1/brimworks/zip.so: undefined symbol: zip_get_error
So, I started over and brought up an Arch Linux container instead, which has a much newer version of libzip available. So far it's working without issues!
itchtwittergithub
User avatar
Rucikir
Party member
Posts: 129
Joined: Tue Nov 05, 2013 6:33 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by Rucikir »

nyx wrote: Thu Apr 21, 2016 5:06 pm okay, so i figured out how to fix the previous problem, but this is the new issue:

Code: Select all

lua: error loading module 'brimworks.zip' from file '/usr/local/lib/lua/5.1/brimworks/zip.so':
	/usr/local/lib/lua/5.1/brimworks/zip.so: undefined symbol: zip_get_error
stack traceback:
	[C]: ?
	[C]: in function 'require'
	/usr/local/share/lua/5.1/love-release/script.lua:7: in main chunk
	[C]: in function 'require'
	...sr/local/share/lua/5.1/love-release/scripts/love.lua:5: in main chunk
	[C]: in function 'require'
	/usr/local/share/lua/5.1/love-release/pipes/args.lua:100: in function 'args'
	/usr/local/bin/love-release:11: in main chunk
	[C]: ?
neilmakesgames wrote: Tue Mar 21, 2017 1:00 am Just installed love-release and its dependencies, but I'm getting the same error nyx was getting:
I didn't see a followup posted in this thread. Does anyone have a solution or any ideas what might cause these errors?
shru wrote: Fri Jun 16, 2017 4:25 am
Rucikir wrote: Wed Mar 22, 2017 5:43 pm I can't really help you with the zip_get_error. My guess from looking at https://tracker.debian.org/pkg/libzip is that Debian does not provide the latest version of the library, where zip_get_error is defined. Sorry !
stabi
I think this guess is correct. I was having trouble running love-release under Debian and was getting the exact same error:
So, I started over and brought up an Arch Linux container instead, which has a much newer version of libzip available. So far it's working without issues!
I have tested the issue with two Docker containers, one on Debian Jessie 8.8 and the other one on Debian Stretch 9.0 (released today), and the result is that Jessie ships a very old version of libzip from 2013, and Stretch almost ships the latest version of libzip. The cool thing is that love-release works with Stretch, and should also work with Ubuntu since 16.04. The latest version that is shipped in theses OSes is 1.1.2, and I believe that zip_get_error has existed in libzip since 1.0, released in 2015.

Time to go dist-upgrade!
I'm so glad that Arch Linux exists :D

I think that luarocks had some changes which may have broken love-release in some subtle ways... I have not kept up with luarocks development, but I'll get into that this summer.

Cheers !
PerdeT
Prole
Posts: 7
Joined: Wed Sep 21, 2016 9:23 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by PerdeT »

I installed love-release on the Ubuntu on Windows platform (shouldn't differ from a standalone ubuntu 14.04), but actually trying to run love-release gives this cluster of errors:

Code: Select all

me@HOMEPC:~/luarocks-2.4.1$ love-release
/usr/bin/lua: /usr/local/share/lua/5.1/love-release/utils.lua:4: module 'luarocks.cfg' not found:
        no field package.preload['luarocks.cfg']
        no file '/usr/local/share/lua/5.1/luarocks/cfg.lua'
        no file '/usr/local/share/lua/5.1/luarocks/cfg/init.lua'
        no file './luarocks/cfg.lua'
        no file '/usr/local/share/lua/5.1/luarocks/cfg.lua'
        no file '/usr/local/share/lua/5.1/luarocks/cfg/init.lua'
        no file '/usr/local/lib/lua/5.1/luarocks/cfg.lua'
        no file '/usr/local/lib/lua/5.1/luarocks/cfg/init.lua'
        no file '/usr/share/lua/5.1/luarocks/cfg.lua'
        no file '/usr/share/lua/5.1/luarocks/cfg/init.lua'
        no file '/usr/local/lib/lua/5.1/luarocks/cfg.so'
        no file './luarocks/cfg.so'
        no file '/usr/local/lib/lua/5.1/luarocks/cfg.so'
        no file '/usr/lib/x86_64-linux-gnu/lua/5.1/luarocks/cfg.so'
        no file '/usr/lib/lua/5.1/luarocks/cfg.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file '/usr/local/lib/lua/5.1/luarocks.so'
        no file './luarocks.so'
        no file '/usr/local/lib/lua/5.1/luarocks.so'
        no file '/usr/lib/x86_64-linux-gnu/lua/5.1/luarocks.so'
        no file '/usr/lib/lua/5.1/luarocks.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
        [C]: in function 'require'
        /usr/local/share/lua/5.1/love-release/utils.lua:4: in main chunk
        [C]: in function 'require'
        /usr/local/share/lua/5.1/love-release/pipes/args.lua:7: in main chunk
        [C]: in function 'require'
        ...luarocks/rocks/love-release/2.0.4-1/bin/love-release:4: in main chunk
        [C]: ?
Any ideas?

EDIT: So I uninstalled love-release&luarocks and installed luarocks again from ubuntu repositories. There's some progress I guess but I'm still getting errors, this time they're different ones though:

Code: Select all

me@HOMEPC:/usr/local/bin$ love-release
/usr/local/bin/love-release: line 1: ---: command not found
/usr/local/bin/love-release: line 2: --: command not found
/usr/local/bin/love-release: line 4: local: can only be used in a function
/usr/local/bin/love-release: line 5: local: can only be used in a function
/usr/local/bin/love-release: line 6: local: can only be used in a function
/usr/local/bin/love-release: line 7: local: can only be used in a function
/usr/local/bin/love-release: line 9: syntax error near unexpected token `('
/usr/local/bin/love-release: line 9: `local p = Project:new()'
User avatar
Rucikir
Party member
Posts: 129
Joined: Tue Nov 05, 2013 6:33 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by Rucikir »

The first error is a problem of version compatibility with Lua, LuaRocks and love-release.
The second error is quite odd, your system is trying to execute Lua code as an sh script.
PerdeT
Prole
Posts: 7
Joined: Wed Sep 21, 2016 9:23 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by PerdeT »

Yeah, I eventually noticed that you have to use love-release 2.3.0 with lua 5.1 in order to get things to work.

Or not actually work, but at least to proceed. And not only that, but also Ubuntu version 16.04! This was indeed noted earlier in this thread. On 14.04 I only got those weird issues like my system trying to execute .lua as an .sh script.

One of the problem-providers was the lua-zip package. I think it was package called libzip-dev that installed the correct libzip version so that I could install lua-zip... and lua-zip itself of course wasn't available in the luarocks repository, but had to be installed with command

Code: Select all

luarocks-5.1 install --server=http://luarocks.org/dev lua-zip
And this only got me so far. Namely, here:

Code: Select all

/usr/bin/lua: /usr/local/share/lua/5.1/luarocks/loader.lua:117: error loading module 'brimworks.zip' from file '/usr/local/lib/lua/5.1/brimworks/zip.so':
        /usr/local/lib/lua/5.1/brimworks/zip.so: undefined symbol: zip_get_errorstack traceback:
        [C]: in function 'a_loader'
        /usr/local/share/lua/5.1/luarocks/loader.lua:117: in function </usr/local/share/lua/5.1/luarocks/loader.lua:114>
        (tail call): ?
        [C]: in function 'require'
        /usr/local/share/lua/5.1/love-release/script.lua:7: in main chunk
        [C]: in function 'require'
        ...sr/local/share/lua/5.1/love-release/scripts/love.lua:5: in main chunk        [C]: in function 'require'
        /usr/local/share/lua/5.1/love-release/pipes/args.lua:103: in function 'args'
        ...luarocks/rocks/love-release/2.0.4-1/bin/love-release:11: in main chunk
        [C]: ?
And this is where I almost quitted. I had to reinstall libzip-dev after upgrading to 16.04... and not only that: then I had to install unzip which had disappeared in the upgrade and also lua dev tools (liblua5.1-0-dev) before I was able to install that notorious lua-zip package.

And THEN I could reinstall love-release.

Only to encounter this:

Code: Select all

/usr/bin/lua: ...local/share/lua/5.1/love-release/scripts/windows.lua:36: assertion failed!
stack traceback:
        [C]: in function 'assert'
        ...local/share/lua/5.1/love-release/scripts/windows.lua:36: in function 'release'
        ...local/share/lua/5.1/love-release/scripts/windows.lua:76: in function <...local/share/lua/5.1/love-release/scripts/windows.lua:71>
        (tail call): ?
        /usr/local/share/lua/5.1/love-release/pipes/args.lua:117: in function 'args'
        ...luarocks/rocks/love-release/2.0.4-1/bin/love-release:11: in main chunk
        [C]: ?
This was when I really called it quits and did something I should have tried hours ago: the bash version of love-release. It still works and in my books is easily the simpler, faster version, and I'd really like to see it developed further. But, if the luarocks version of love-release remains the master branch, at least there could be some additional notes for possible installation conundrums.

PS. I managed to build win and mac applications with love-release.sh, but had less luck with building debian packages. Tips, thoughts?
User avatar
Rucikir
Party member
Posts: 129
Joined: Tue Nov 05, 2013 6:33 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by Rucikir »

Hum… It's a late answer, so I'm just going to go along and skip it. I hope you turned out ok.

I have finally made (and published in LuaRocks) a fork of lua-zip, named lua-libzip, which should work under all Lua versions.
I have updated love-release to work with LÖVE 11.x.
I should be easier to install love-release now, the only "manual" dependencies being LuaRocks and libzip.
premek
Prole
Posts: 21
Joined: Mon Dec 28, 2015 12:44 am
Contact:

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by premek »

hi, is anyone running this on Travis CI? It runs fine locally but I cannot install and run it properly on travis. There is an older luarocks version there (not sure if thats important) and this is the best I managed to do

Code: Select all

love-release -t mygame target/ src/
sh: 1: love: not found
/usr/bin/lua: ...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:147: error loading module 'misterda.zip' from file '/home/travis/.luarocks/lib/lua/5.1/misterda/zip.so':
	/home/travis/.luarocks/lib/lua/5.1/misterda/zip.so: undefined symbol: zip_file_get_external_attributes
stack traceback:
	[C]: in function 'a_loader'
	...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:147: in function <...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:144>
	(tail call): ?
	[C]: in function 'require'
	...avis/.luarocks/share/lua/5.1/love-release/script.lua:7: in main chunk
	[C]: in function 'require'
	...luarocks/share/lua/5.1/love-release/scripts/love.lua:5: in main chunk
	[C]: in function 'require'
	.../.luarocks/share/lua/5.1/love-release/pipes/args.lua:103: in function 'args'
	...luarocks/rocks/love-release/2.0.6-1/bin/love-release:11: in main chunk
	[C]: ?
dan369
Prole
Posts: 44
Joined: Tue Apr 15, 2014 10:53 pm

Re: love-release - in Lua ! - makes LÖVE game release easier

Post by dan369 »

premek wrote: Mon May 07, 2018 6:25 pm hi, is anyone running this on Travis CI? It runs fine locally but I cannot install and run it properly on travis. There is an older luarocks version there (not sure if thats important) and this is the best I managed to do

Code: Select all

love-release -t mygame target/ src/
sh: 1: love: not found
/usr/bin/lua: ...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:147: error loading module 'misterda.zip' from file '/home/travis/.luarocks/lib/lua/5.1/misterda/zip.so':
	/home/travis/.luarocks/lib/lua/5.1/misterda/zip.so: undefined symbol: zip_file_get_external_attributes
stack traceback:
	[C]: in function 'a_loader'
	...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:147: in function <...e/travis/.luarocks/share/lua/5.1/luarocks/loader.lua:144>
	(tail call): ?
	[C]: in function 'require'
	...avis/.luarocks/share/lua/5.1/love-release/script.lua:7: in main chunk
	[C]: in function 'require'
	...luarocks/share/lua/5.1/love-release/scripts/love.lua:5: in main chunk
	[C]: in function 'require'
	.../.luarocks/share/lua/5.1/love-release/pipes/args.lua:103: in function 'args'
	...luarocks/rocks/love-release/2.0.6-1/bin/love-release:11: in main chunk
	[C]: ?
I have this issue on windows.

Image

It seems like it's an issue with the latest release.
Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 5 guests