[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: To all Lua rock maintainers (also included considerations on Lua's ecosystem and a Lua distribution)
- From: Stefano <phd.st.p@...>
- Date: Mon, 7 Sep 2015 19:37:51 +0100
On 7 September 2015 at 03:39, Sean Conner <sean@conman.org> wrote:
> Thanks for the work, but I'm having difficulty understanding the output
> from all this. For instance, I only found one of my modules [1] in the
> Windows output [2] and while I would like to fix the issue, I don't [3]
> use Windows, so I'm at a loss as to how to fix this issue:
>
> env.c
> env.c(44): warning C4273: '__p__environ': inconsistent dll linkage
> C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\stdlib.h(1158): note: see previous definition of '__p__environ'
> Microsoft (R) Incremental Linker Version 14.00.23026.0
> Copyright (C) Microsoft Corporation. All rights reserved.
>
> Creating library org/conman/env.lib and object org/conman/env.exp
> Installing https://luarocks.org/org.conman.env-1.0.1-0.rockspec...
> Using https://luarocks.org/org.conman.env-1.0.1-0.rockspec... switching to 'build' mode
> cl /nologo /MD /O2 -c -Foenv.obj -IC:/ste/luarocks/2.2/include env.c
> link -dll -def:env.def -out:org/conman/env.dll C:/ste/luarocks/2.2/lua51.lib env.obj
> Updating manifest for C:/ste/luarockstree/lib/luarocks/rocks
> org.conman.env 1.0.1-0 is now built and installed in C:/ste/luarockstree (license: LGPL)
That is just a warning, it builds fine (see below).
If you are concerned please send me privately a test and I can run on
my Windows VM.
>
> And that's one of the simpler modules!
>
> Another issue: I'm checking the pass list [4] and I see this for two of
> my modules:
>
> ["org.conman.env"] = {
> ["1.0.1-2"] = {
> Linux = {
> x86 = true
> },
> OSX = {
> x86 = true
> },
> Windows = {
> x86 = true
> }
> }
> },
> ["org.conman.errno"] = {
> ["1.0.1-2"] = {
> Linux = {
> x86 = false
> },
> OSX = {
> x86 = false
> },
> Windows = {
> x86 = false
> }
> }
> },
>
> Um ... did org.conman.errno pass? Why is the Linux.x86 set to false? I
> *know* it compiled under Linux x86 as that's my main development system. I
> know it also compiles under 64-bit Linux as I use that at work. I also know
> it compiled under OS-X as I use that both at home and at work. What am I
> looking at?
Nope.
The rock org.conman.env passed on all 3 platforms.
The rock org.conman.errno did not pass on any.
The reason is found immediately looking at
http://www.scilua.org/luarocksorg/state/error.lua
There is a module conflict (org module name).
I am aware in this case it's a module intentionally splitted among
multiple rocks and I am going to support this case shortly. So nothing
for you to worry about.
(side note: I am not convinced on the need to break-up modules in
multiple rocks, considering their tiny size, but I can live with
that).
>
> Under the error list [5] I see:
>
> ["org.conman.iconv"] = {
> ["1.1.0-1"] = {
> ICONV = {
> header = "iconv.h"
> }
> }
> },
>
> Okay ... apparently this failed ... for something ... somewhere ... I
> guess. I can't find any other mention of this module anywhere else. But
> under the Linux error_sys portion [6] I found my UUID module with the
> following error:
>
> ["org.conman.uuid"] = {
> ["1.2.2-1"] = {
> stderr = {
> "Warning: skipping dependency checks.",
> "make: Warning: File `Makefile' has modification time 7.1e+08 s in the future",
> "src/luauuid.c:35:17: fatal error: lua.h: No such file or directory",
> " #include <lua.h>",
> " ^",
> "compilation terminated.",
> "make: *** [so/luauuid.o] Error 1",
> "",
> "Error: Build error: Failed building."
> },
> stdout = {
> "mkdir so",
> "mkdir lib",
> "gcc -std=c99 -O2 -fPIC -fPIC -c -o so/luauuid.o src/luauuid.c",
> "Installing https://rocks.moonscript.org/org.conman.uuid-1.2.2-1.src.rock...",
> "Using https://rocks.moonscript.org/org.conman.uuid-1.2.2-1.src.rock... switching to 'build' mode"
> }
> }
> },
>
> lua.h not found? What file should I include? And it also failed under
> OS-X [7] but *not* Windows? [8]
>
> My main issue with this is that I can't find any actionable items to fix.
> I mean, okay, my Makefile has a modification time some 700,000,00 seconds in
> the future? No ... it's fine (both on my system and from a fresh checkout
> from github). Missing lua.h? Should I be using lua-51.h? lua51.h? Should
> I be passing /usr/local/include to the compiler? Which of my modules
> (listed here) passed? How did org.conman.errno fail? What was wrong with
> org.conman.iconv?
>
> I've got too many questions to even start looking into my luarock modules.
> And while I can fix the Linux and OS-X issues, I have no Windows systems [3]
> nor do I understand that platform to fix issues there. And I'm sure there
> are people who can fix Windows issues but not OS-X or Linux.
Philipp already replied to the lua.h issue (thanks!), I answered the
reaming questions.
The best I can do is to provide you with the full stderr and stout
outputs from Luarocks: this is what you would get if you were to try
to install the rock yourself on a Windows machine. I am not sure how I
can improve on this short of giving you ssh access to a Windows VM.
Please let me know if I can help further.
Bests,
Stefano