Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot be built from release tarball with default make options #419

Open
hasufell opened this issue Oct 22, 2019 · 7 comments
Open

Cannot be built from release tarball with default make options #419

hasufell opened this issue Oct 22, 2019 · 7 comments
Labels

Comments

@hasufell
Copy link

hasufell commented Oct 22, 2019

lua and luajit submodules are missing from the tarball: https://github.com/luvit/luv/tree/master/deps

Using system luajit doesn't work, because cmake checks are trying to access private headers, such as lj_arch.h. I have no idea why.

@squeek502
Copy link
Member

squeek502 commented Oct 22, 2019

Building from source should work with a release tarball (not the Source code ones, but the ones named like luv-1.30.1-1.tar.gz). Not much we can do about the Github zip not including submodules.

Are you using LUA_BUILD_TYPE=System when trying to build with system LuaJIT as described here?

@hasufell
Copy link
Author

Building from source should work with a release tarball

Yes, I'm talking about the release tarball. I doesn't contain all submodules.

Are you using LUA_BUILD_TYPE=System when trying to build with system LuaJIT as described here?

Haven't tried that yet.

@squeek502
Copy link
Member

Yes, I'm talking about the release tarball. I doesn't contain all submodules.

Whoops, you're right. That tarball really only exists for LuaRocks, which doesn't expect to need to compile Lua from source. For compiling everything from source, your best best would be to do a git clone. Is there a reason you want a tarball instead?

@hasufell
Copy link
Author

Is there a reason you want a tarball instead?

Packaging. Using a git clone is suboptimal. The tarball should always have all submodules included.

@squeek502
Copy link
Member

squeek502 commented Oct 22, 2019

It's a bit harder of a call since this is a Lua module not tied to any specific Lua version. For packaging purposes, it should probably compile against whatever Lua version the user wants rather than compile LuaJIT from source, right?

Could you describe your use case a bit more? Are there other similar Lua projects you're working with that handle this sort of thing better?

@hasufell
Copy link
Author

For packaging purposes, it should probably compile against whatever Lua version the user wants rather than compile LuaJIT from source, right?

I'm on a source distro. Either I compile against the system version (there is only one, which is Luajit-2.0.5) or I use the bundled one. I cannot use the bundled one, because it's not in the tarball. The user cannot choose any version.

Are you using LUA_BUILD_TYPE=System when trying to build with system LuaJIT as described here?

This works

@squeek502
Copy link
Member

I think this might just be down to default make being more development oriented than end-user oriented (or legacy-oriented, since luv started out as specific to LuaJIT and not a general Lua module). I don't think we should provide a bundled Lua with release distributions because, for example, if we bundled Lua 5.3 (which we also have as a submodule) and that was compiled/used by default, then the result would fail if you tried to run it with your system's LuaJIT.

Maybe we should move to LUA_BUILD_TYPE=System as more of a default.

@squeek502 squeek502 changed the title Cannot be built from downloads tarball Cannot be built from downloads tarball with default make options Oct 22, 2019
@squeek502 squeek502 changed the title Cannot be built from downloads tarball with default make options Cannot be built from release tarball with default make options Oct 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants