LuaRocks LuaSocket не удалось установить

Отказ от ответственности: здесь есть аналогичный вопрос от другого пользователя, но на него так и не ответили. Может быть, в этот раз все будет иначе.

Я пытаюсь установить Copas, но одной из зависимостей является LuaSocket. Однако, когда я пытаюсь установить LuaSocket, я получаю следующую ошибку:

src/wsocket.c: In function 'socket_gaistrerror':
src/wsocket.c:417:14: error: 'ERROR_NOT_ENOUGH_MEMORY' undeclared (first use in this function)
         case EAI_MEMORY: return "memory allocation failure";
              ^
src/wsocket.c:417:14: note: each undeclared identifier is reported only once for each function it appears in

Error: Build error: Failed compiling object src/wsocket.o

Я пытался скачать Rockspec и установить его там, я попробовал сайт luarocks, а также сайт github, и я пробовал разные версии. Мой компилятор Lua — это Lua для Windows, а версия Lua — 5.1. Я использую MinGW для компилятора C. Все это на ноутбуке с Windows 10.


person Josh    schedule 29.05.2018    source источник


Ответы (1)


Похоже, это может зависеть от используемой вами версии mingw; это обсуждение той же ошибки в curl может помочь определить проблему и предлагаемое решение /обходной путь. Из обсуждения видно, что добавление -DENABLE_INET_PTON=OFF или использование MinGW64-w64 v7+ может решить проблему.

Кроме того, Lua для Windows уже должен включать luasocket, поэтому я не уверен, зачем его нужно компилировать.

person Paul Kulchenko    schedule 29.05.2018
comment
Возможно, Lua для Windows устанавливает более старую версию luasocket. Copas требует luasocket 2.1 и выше. В любом случае, установка MinGW64 исправила это. Спасибо! - person Josh; 30.05.2018