J'ai cette erreur sur Ubuntu 14.04:
checking for X... libraries , headers /usr/include/X11/
configure: error: Cannot find required Xaw header file Box.h; PDCurses cannot be configured
Comment puis-je le réparer?
La fonctionnalité intéressante d'ubuntu est la possibilité de rechercher des bibliothèques ... vous avez besoin de Xax avec des fichiers d'en-tête ... chaque paquet donnant des en-têtes se termine par -dev
... lors d'une recherche de terminal en émettant:
apt-cache search Xaw # any library will start with lib and end with dev
ici, je mets toutes ces restrictions sur la même ligne
apt-cache search Xaw | grep lib | grep -i Xaw | grep dev
sortie
libxaw7-dev - X11 Athena Widget library (development headers)
libxaw3dxft8-dev - Extended version of Xaw3d with support for UTF8 (Development files)
choisissez ci-dessus la liste la plus proche ... qui est
libxaw7-dev # desired package - starts with lib has xaw ends with dev
alors émettez ceci pour installer
Sudo apt-get install libxaw7-dev
une fois installé, lancez ceci pour lister les fichiers contenus dans le paquet (pour voir les fichiers d'en-tête)
dpkg -L libxaw7-dev
Il semble qu’aucune réponse n’ait été acceptée à ce jour ... Essayons donc: sur ma machine Ubuntu prête à l'emploi, j'installe d'abord le package de développement nécessaire avec les en-têtes:
Sudo apt-get install libxaw7-dev
Ensuite, je dois indiquer au script ./configure
l'emplacement correct dans ces fichiers de développement. Sur ma machine, il s'agit de /usr/lib/x86_64-linux-gnu
. Vous obtenez ceci de apt-cache show libxaw7
. Avec cette connaissance, appelez
./configure --x-libraries=/usr/lib/x86_64-linux-gnu
TL; DR: Installer libxaw7-dev = .
Il semble que vous construisiez un logiciel à partir du code source, et que le logiciel que vous construisez n’est pas Xaw lui-même, mais plutôt utilise Xaw by lien contre il.
Pour créer un logiciel lié à une bibliothèque, vous devez installer les fichiers d’en-tête de cette bibliothèque (c’est ce que dit votre message d’erreur - "Impossible de trouver le fichier d’en-tête Xaw requis Box.h" - vous dit que vous n’avez pas). .
Dans Ubuntu, les fichiers d’en-tête sont fournis par des paquets distincts, dont le nom se termine par _-dev
_. Dans ce cas, vous avez besoin de libxaw7-dev . (Vous avez également besoin de libxaw7 , mais si vous ne l'avez pas déjà, il sera installé automatiquement lorsque vous installerez le package _-dev
_ correspondant. En revanche, l’installation de it sera not installe automatiquement son package _-dev
_.)
Vous pouvez installer libxaw7-dev dans le centre logiciel, ou en exécutant:
_Sudo apt-get update
Sudo apt-get install libxaw7-dev
_
Bien que vous n’ayez pas à installer _libxaw7
_ explicitement, vous pouvez le faire pour que ce ne soit pas automatiquement supprimé si le package _-dev
_ est ultérieurement désinstallé et qu'aucun autre package ne déclare dépendance dessus. (En règle générale, le gestionnaire de paquets ne connaît pas le logiciel que vous avez construit et installé manuellement à partir du code source.) Si vous souhaitez le faire, remplacez la deuxième ligne par:
_Sudo apt-get install libxaw7-dev libxaw7
_
Ou alors, exécutez simplement _Sudo apt-get install libxaw
_ ou _Sudo apt-mark manual libxaw7
_, si vous avez déjà installé _libxaw7-dev
_.
Dans le cas de cette bibliothèque particulière (_libxaw7
_), il était facile de deviner le nom du paquet contenant ses fichiers d'en-tête _libxaw7-dev
_. Parfois, ce n'est pas si facile. Dans ce cas, ou en général pour savoir quel paquet officiel Ubuntu fournit un fichier (dont vous connaissez le nom de fichier), vous pouvez rechercher le Base de données de paquets Ubunt , sous "Rechercher le contenu des paquets".
Cela révèle qu'un certain nombre de paquets fournissent des fichiers avec ce nom ou un nom similaire. Cependant, un seul des résultats de la recherche fournit un fichier d’en-tête pour Xaw: libxaw7-dev
(Le fichier est _/usr/include/X11/Xaw/Box.h
_.)
Cette recherche montre autres fichiers d'en-tête associés fournis par deux autres packages associés, ce qui, à mon avis, n'est pas nécessaire, car votre message d'erreur indique: "Impossible de trouver nécessaire Xaw en-tête "(et pas Xaw3d ) == ou Xaw3dxft ). Toutefois, si vous avez besoin des fichiers _Box.h
_ de ces bibliothèques associées, ils sont fournis par xaw3dg-dev et xpaint-dev forfaits.