6 votes

Compilation de midnight commander

J'ai besoin d'aide pour compiler midnight commander afin de pouvoir apporter quelques modifications (à des fins éducatives). Ou même créer les fichiers make.

Après avoir téléchargé la dernière version de git. J'essaie d'exécuter ./autogen.sh . Le résultat est :

maint/autopoint: 418: cannot open /usr/share/gettext/archive.tar.gz: No such file
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
cvs checkout: cannot find module `archive' - ignored
find: `archive': No such file or directory
find: `archive': No such file or directory
find: `archive': No such file or directory
autopoint: *** infrastructure files for version 0.14.3 not found; this is autopoint from GNU gettext-tools 0.17
autopoint: *** Stop.

J'ai installé gettext et le dossier /usr/share/gettext existe. Mais il n'y a pas archive.tar.gz . Je n'ai aucune idée de ce que devrait contenir cette archive ni de l'endroit où la trouver.

Pouvez-vous m'aider ?

5voto

Brian Rogers Points 12160

La façon la plus simple de compiler le code source dans ubuntu est d'utiliser apt-get source, comme ceci :

sudo apt-get build-dep mc
sudo apt-get -b source mc

Remplacez "midnightcommander" par le nom réel du paquet. Je suis sur une machine Windows en ce moment, je ne peux donc pas vérifier le nom du paquet, mais il pourrait s'agir de 'mc'.

Cette commande téléchargera et construira le code source pour vous ainsi que toutes les dépendances dont vous avez besoin. Après cela, vous pouvez simplement modifier le code source et appeler make depuis le répertoire racine du projet à reconstruire.

0voto

djeikyb Points 28025

Ejecutar locate "archive.tar.gz" pour voir si c'est quelque part sur votre système.

Il n'existe nulle part.

Votre installation de gettext est fubar. Réinstallez-le. Si vous avez fait l'installation initiale en utilisant Synaptic ou apt-get, exécutez cette commande :

sudo apt-get install --reinstall gettext

Si vous l'avez compilé, vous connaissez l'exercice :

cd ~/src/gettext
sudo make uninstall
./configure --prefix=/usr && make && sudo make install

Il existe à /usr/local/share/gettext

J'ai juste tapé sur Google "gettext no archive.tar.gz" et j'ai trouvé une ancien bug de l'autopointage là où il s'attendait à ce que gettext soit installé. /usr et jamais à /usr/local . En effet, autogen.sh appelle /usr/bin/autopoint, et.. :

# - gettext_dir     directory where the sources are stored.
prefix="/usr"
datarootdir="${prefix}/share"
gettext_dir="${datarootdir}/gettext"

Si votre gettext a été installé dans /usr/local, vous avez quelques options. (1) Vous pourrait changer le préfixe, mais toute mise à jour Ubuntu de l'autopointage le fera échouer. (2) Je préfère supprimer et réinstaller gettext dans /usr. (3) Bien sûr, le plus simple serait de créer un lien symbolique :

ln -s /usr/local/share/gettext /usr/share/gettext

Il existe ailleurs.

De plus en plus curieux. Où diable est-il arrivé ?

0voto

Dans maverick le paquet gettext ne contient plus archive.tar.gz. Quelques solutions :

  • Compiler gettext à partir des sources
  • Plus rapide et plus sale : téléchargez le paquet lucide et extraire archive.tar.gz en /usr/share/gettext

0voto

PROgram52bc Points 11

Il semble que /usr/share/gettext/archive.dir.tar.xz fait partie de la autopoint (du moins sur Ubuntu 20.04). Je rencontrais la même erreur en boostant coreutils, et le problème a été résolu par

sudo apt install autopoint

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X