[Résolu] [1094] Lua vs Lua5.1

Démarré par Sam101, 26 Octobre 2009 à 14:22

0 Membres et 1 Invité sur ce sujet

26 Octobre 2009 à 14:22 Dernière édition: 07 Janvier 2010 à 15:55 par Christopho
Coucou ! :)... Voilà, j'ai lua5.1 d'installé sur mon joli ArchLinux tout neuf... Sauf que apparament, le dossier "lua5.1" n'existe pas et encore moins

#include <lua5.1/lua.hpp>

J'ai du créer un dossier "lua5.1" et copier lua.hpp dedans pour que ça fonctionne... Une idée de solution moins bourrin ?

EDIT: Même problème à l'édition de liens, j'ai du faire

ln -s liblua.so.5.1 liblua5.1.so

Normalement les headers de Lua sont censés s'installer dans un répertoire nommé lua5.1, c'est le cas sous ubuntu par exemple. Où se sont-ils installés chez toi ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus


/usr/include/lua.hpp
/usr/include/lua.h
/usr/include/luaconf.h
/usr/include/lualib.h

Les manipulations que tu as faites sont censées se faire automatiquement lors de l'installation. Le répertoire standard des headers de Lua est bien un sous-répertoire de include nommé lua5.1. Et pour l'édition de liens, là aussi c'est l'installation qui a oublié de le faire. Je considère donc que ce n'est pas un bug de zsdx mais du package Lua de ArchLinux ;)
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Sous Mandriva même problème, lua.hpp est directement dans /usr/lib/
Posté le: 11 Décembre 2009 à 11:46
Les fichiers .patch corrigeant le problème:

CMakeLists_lua.patch :

--- src/CMakeLists.txt.ori 2009-12-11 13:13:23.626041912 +0100
+++ src/CMakeLists.txt 2009-12-11 13:13:30.551675736 +0100
@@ -27,7 +27,7 @@
      SDL_ttf
      openal
      sndfile
-       lua5.1
+       lua
      physfs
      stdc++
)


MapScript_lua_path.patch :

--- src/MapScript.cpp.ori 2009-11-12 17:04:27.000000000 +0100
+++ src/MapScript.cpp 2009-12-11 13:10:02.958817356 +0100
@@ -42,7 +42,7 @@
#include "entities/Sensor.h"
#include "entities/Enemy.h"
#include <iomanip>
-#include <lua5.1/lua.hpp>
+#include <lua.hpp>

/**
  * Creates the script of a map.
Citation
Ash Nazg Durbatulùk, Ash Nazg Gimbatul,
Ash Nazg Thrakatulùk agh bruzum-ishi krimpatul.
The fellowship of the Ring - J.R.R. Tolkien

Si je comprends bien c'est un bug soit du paquet ubuntu, soit des paquets archlinux et mandriva. Ils ont l'air vraiment incompatibles car en effet, les headers ne sont pas dans le même répertoire, et la bibliothèque n'a pas le même nom.
Sous ubuntu, je n'ai pas de liblua.a ni liblua.so (même en liens symboliques), mais seulement liblua5.1.a ou liblua5.1.so. Que peut-on faire dans ce cas à votre avis ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Dès que j'ai fini mon rpm sous mandriva (plus très long je pense) je regarde sous debian, fedora et opensuze comment lua est installé.
Quand il était tombé sur le bug, Sam m'avait filé ce lien : https://bugs.launchpad.net/ubuntu/+source/lua5.1/+bug/377239 donc je pense que c'est Ubuntu qui merde sur le paquet.
C'est pas super grave, les fichiers patch et leur prise en compte dans les packages c'est fait pour ce genre de petites différences. Si ton environnement de développement est sous ubuntu reste avec la norme ubuntu. Tant que les gens utilisent les paquets que l'on va leur fournir, ils n'auront pas de problème.
Posté le: 12 Décembre 2009 à 00:00
Pour en revenir à ce petit problème de lib lua, toute les distributions que j'ai regardé, à part debian et Ubuntu, ne font pas de distinction lua / lua5.1, et ne mettent pas les headers de lua dans un sous répertoire. Chris développant sur Ubuntu c'est normal qu'il garde cette norme dans ses sources, par contre je pense qu'il faudrait rajouter les deux fichiers patch correspondants dans les sources de zsdx, et mentionner le problème dans le readme.
D'ailleurs je dirai que les versions compilées pour Linux qui sont proposé en téléchargement ne peuvent fonctionner que sous Ubuntu et Debian du fait de ce problème de lib lua.
Citation
Ash Nazg Durbatulùk, Ash Nazg Gimbatul,
Ash Nazg Thrakatulùk agh bruzum-ishi krimpatul.
The fellowship of the Ring - J.R.R. Tolkien

Corrigé dans la r1205.
Le fichier de configuration cmake est maintenant beaucoup plus portable, je fais appel à des directives qui permettent de trouver les bibliothèques et les includes là où ils sont. Donc maintenant, sous linux, ça doit pouvoir compiler avec cmake quelle que soit la distribution et sans patch.
Tout ça grâce aux conseils d'un mec américain qui m'a contacté pour faire une version Gentoo ^^
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus