2012-03-16 17 views
5

Qualcuno è riuscito a far funzionare tutti insieme? Ho ottenuto 5.2 ottimo funzionamento, e può trovare lua-redis (redis.lua), tuttavia non riesce a caricare il modulo socket, che non riesco a lavorare con lua (versione 2.0.2 di LuaSocket). Qualcuno ha qualche consiglio per farlo funzionare?LuaSocket, Lua 5.2 e Redis

Ho provato a fare luasocket, ma fallisce completamente, che presumo sia dovuto alla mia versione lua 5.2.

La risposta è solo per tornare a lua 5.1 o c'è un'altra correzione di cui non sono a conoscenza?

risposta

4

L'attuale versione di LuaSocket, come molte librerie Lua, non supporta Lua 5.2. Per le modifiche di Lua nella seconda cifra della versione sono indicate le versioni principali e la compatibilità con le versioni precedenti non viene mantenuta (tranne in alcuni casi tramite flag di compilazione per riattivare le funzionalità obsolete).

Lua 5.1 è stabile e non vi è alcun motivo particolare per non utilizzarlo a meno che non sia necessaria una funzione aggiunta in 5.2.

Detto questo, molte librerie sono attualmente in fase di aggiornamento per essere compatibili con 5.2, incluso LuaSocket. Se sei determinato e felice di compilare da sorgenti e modificare i makefile, prova a this repository che è una versione 5.2 compatibile di LuaSocket.

Si noti che Lua 5.2 deve essere stato creato con LUA_COMPAT_MODULE definito per questa versione di LuaSocket da compilare con esso. Dovrai anche modificare i makefile per regolare i percorsi corretti sul tuo sistema.

Considerati altri 3-4 mesi circa e penso che molte delle librerie comuni siano compatibili con 5.2. Tuttavia, a mio parere, a meno che non siano piccole cose, penso che sia presto per basare i progetti su 5.2. Portare il codice su 5.2 non è difficile (soprattutto se si familiarizza con lo deprecated features in modo da evitare di dipendere troppo da esso in 5.1 - in particolare setfenv() e module()).

+0

Grazie per aver confermato i miei sospetti :) –