Je suis désolé, je n'ai pas d'expérience avec gcc et l'installation de paquets à partir des sources, et je ne peux pas résoudre mon problème:
J'essaie d'installer ncmpcpp à partir de la source ( github ) sur Ubuntu 14.04 (la raison en est que les visualiseurs sont colorés dans la version 0.7 .1).
Donc, auparavant, j'ai installé mpd et ncmpcpp à partir du référentiel (version 0.5.10) fonctionnait très bien.
Maintenant, mes étapes d'installation (après avoir supprimé ncmpcpp avec apt-get):
git clone https://github.com/arybczak/ncmpcpp
cd ncmpcpp
./autogen.sh
L'erreur que j'obtiens est:
configure: error: libmpdclient >= 2.8 is required!
Cependant, voici le résultat de apt-cache policy libmpdclient2
:
libmpdclient2:
Installé : 2.9-1ubuntu1
Candidat : 2.9-1ubuntu1
Table de version :
*** 2.9-1ubuntu1 0
500 http://archive.ubuntu.com/ubuntu/ trusty/universe AMD64 Packages
100 /var/lib/dpkg/status
Après quelques recherches sur Google, j'ai essayé cette commande: ldconfig -p | grep mpdclient
:
libmpdclient.so.2 (libc6,x86-64) => /usr/lib/libmpdclient.so.2
Mais je peux réellement vérifier que pkg-config ne le trouve pas:
$ pkg-config --exists --print-errors "libmpdclient2"
Package libmpdclient2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmpdclient2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libmpdclient2' found
Essayer avec "libmpdclient"
renvoie la même chose.
J'ai recherché mon ordinateur à l'aide de Sudo find / -name "libmpdclient2.pc"
et rien n'est venu.
Lorsque vous lisez le fichier configure.ac (dont la syntaxe ne m'est pas familière), vous voyez ceci, et je me demande s'il vérifie libmpdclient
ou libmpdclient2
:
dnl ==============================
dnl = checking for libmpdclient2 =
dnl ==============================
PKG_CHECK_MODULES([libmpdclient], [libmpdclient >= 2.8], [
AC_SUBST(libmpdclient_CFLAGS)
AC_SUBST(libmpdclient_LIBS)
CPPFLAGS="$CPPFLAGS $libmpdclient_CFLAGS"
AC_CHECK_HEADERS([mpd/client.h],
LIBS="$LIBS $libmpdclient_LIBS"
,
AC_MSG_ERROR([missing mpd/client.h header])
)
],
AC_MSG_ERROR([libmpdclient >= 2.8 is required!])
)
Désolé pour le long post, je n'ai plus d'indices. J'ai le sentiment qu'il s'agit d'un package pour les utilisateurs d'Archlinux plutôt que pour ceux d'Ubuntu mais je l'aime beaucoup!
Habituellement, dans le schéma de packaging Ubuntu, les fichiers nécessaires au développement logiciel en utilisant une bibliothèque (y compris les fichiers d'en-tête et pkg-config .pc
fichiers, le cas échéant) sont séparés de la bibliothèque d'exécution elle-même et fournis dans un package distinct.
Le plus souvent, ce package porte le même nom que le package de la bibliothèque d'exécution, plus un -dev
suffixe, par exemple
libgimp2.0 - Libraries for the GNU Image Manipulation Program
libgimp2.0-dev - Headers and other files for compiling plugins for GIMP
cependant, dans ce cas, il semble que le package de développement correspondant à libmpdclient2
est simplement libmpdclient-dev
:
$ apt-cache policy libmpdclient2
libmpdclient2:
Installed: (none)
Candidate: 2.9-1ubuntu1
Version table:
2.9-1ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/universe AMD64 Packages
tandis que
$ apt-cache policy libmpdclient-dev
libmpdclient-dev:
Installed: (none)
Candidate: 2.9-1ubuntu1
Version table:
2.9-1ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/universe AMD64 Packages
Installation de libmpdclient-dev
le package doit fournir les fichiers de développement nécessaires et conserver pkg-config
content, mais vous devez utiliser le nom de package correct:
pkg-config --exists --print-errors libmpdclient