[Résolu] Problème compilation CMake dépendances...

Problème compilation CMake dépendances... [Résolu] - Installation - Linux et OS Alternatifs

Marsh Posté le 01-03-2015 à 12:28:37    

Bonjour,
 
J'aimerais utiliser la bibliothèque KExiv2 dans un logiciel que je suis en train d'écrire. Mais la version fournit par ma distro (Mageia) plante à l'exécution (problème mémoire sur un realloc, j'en sais pas plus).
Du coup je souhaiterais refaire une tentative avec une version de kexiv2 recompiler à la main.
 
J'ai téléchargé les sources de libKExiv2, le projet est basé sur cmake. J'ai suivi le README et lancé "cmake ." comme indiqué.
Mais il refuse d'aller plus loin car il a besoin de la bibliothèque Exiv2 en version 0.24 minimum, alors que ma distro ne la fournit qu'en version 0.23.
J'ai tenté d'installer des paquets alternatifs (chauldron) de cette lib, mais ils refusent de s'installer.
 
Du coup, rebelote, j'ai téléchargé les dernières sources de Exiv2, et cette fois tout est bon, il a compilé et s'est installé sans rechigner.
 
Malheureusement, quand je relance cmake sur libkexiv2, il ne voit toujours que la version 0.23 et j'ai toutes les peines du monde pour lui faire avaler ma propre version 0.24.
 
 
Je ne connais pas du tout cmake. J'ai pas mal bidouiller toute la matinée, mais sans succès jusque là:
 
Pour commencé, la version 0.23 de ma distro est installé dans "/usr/lib64/" tandis que ma version 0.24 se trouve ici: "/usr/local/lib/".
Je ne peux pas désinstallé le paquet de ma distro, car sinon il y a la moitié de KDE qui veut partir.
Alors j'ai tenté de substituer à la main les .so dans "/usr/lib64/" par des liens symboliques vers mes fichiers de /usr/local/lib.
Mais quand je relance cmake, c'est toujours la version 0.23 qu'il voit.
Alors j'ai été radicale, j'ai supprimé carrément tous les fichiers exiv2 de /usr/lib64, et chose plus surprenante encore, lorsque je relance cmake il réussi encore et toujours à trouver la version 0.23, alors que ces fichiers n'existent plus du tout!

Citation :

Could NOT find Exiv2: Found unsuitable version "0.23.0", but required is at least "0.24" (found /usr/lib64/libexiv2.so)


Comment arrive-t-il à voir /usr/lib64/libexiv2.so alors qu'il n'est plus présent sur mon disque?
 
Autre tentative, après avoir lus un truc dans la doc de cmake, dans le fichier CMakeLists.txt du projet libkexiv2, j'ai remplacé:
find_package(Exiv2)
par:
find_package(Exiv2 PATHS /usr/local/lib/)
 
Et maintenant cmake me dis:

Citation :

CMake Warning at CMakeLists.txt:27 (find_package):
  Could not find a package configuration file provided by "Exiv2" with any of
  the following names:
 
    Exiv2Config.cmake
    exiv2-config.cmake
 
  Add the installation prefix of "Exiv2" to CMAKE_PREFIX_PATH or set
  "Exiv2_DIR" to a directory containing one of the above files.  If "Exiv2"
  provides a separate development package or SDK, be sure it has been
  installed.


 
 
J'ai tenter un:
export Exiv2_DIR=/usr/local/lib
mais toujours la même réponse.
 
 
J'aurais vraiment besoin d'aide, parce que je bidouille, mais je ne sais pas vraiment ce que je fais.
Et suis-je dans le bon forum pour obtenir une aide efficace sur ce genre de question?
 
Merci de votre aide.


Message édité par wistiti68 le 01-03-2015 à 14:14:14
Reply

Marsh Posté le 01-03-2015 à 12:28:37   

Reply

Marsh Posté le 01-03-2015 à 14:11:48    

Bon, c'était tout bête. Il fallait juste que je supprime les fichiers builds de l'essai précédant avant de relancer cmake. :ange:  
Maintenant ça run.
Je vais voir si cette lib fonctionne mieux avec mon programme.

Reply

Marsh Posté le 01-03-2015 à 14:53:06    

Bin c'est pas le cas  :(  
Toujours un étrange problème de mémoire au lancement de mon appli

Citation :

*** Error in `/home/xxx/Développement/BUILDS/build-Test-Desktop_Qt_5_4_0_GCC_64bit-Debug/Test': realloc(): invalid pointer: 0x00007fc5fb39c0e0 ***


 
Tanpis, je vais me rabattre sur la lib Exiv2, qui elle a l'air de marcher, mais son interface me plaît moins. Et une demi-journée de perdu :fou:  
 
Je vais peut-être quand même faire un rapport de bug, par ce que ça n'a pas l'air de venir de chez moi ce problème.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed