web-dev-qa-db-fra.com

Faire 3.82+ sur Ubuntu 12.04

J'essaie de compiler des logiciels sur Ubuntu 12.04 (64 bits). Il échoue avec cette erreur.

checking for make... /usr/bin/make
configure: tested: whether version of /usr/bin/make is 3.82+ 
configure: ===INF===  Installed version of make is not 3.82+: 
make: *** No targets specified and no makefile found. Stop.

Vérification

$ make --version
GNU Make 3.81
This program built for x86_64-pc-linux-gnu

J'ai téléchargé 3.82 de http://ftp.gnu.org/gnu/make/ ... puis a exécuté:

./configure
Sudo make install
make --version
GNU Make 3.82

Mais je reçois toujours le message d'erreur ci-dessus.

Existe-t-il un moyen de vérifier que cette version est seulement de make sur mon système? Ou une manière que je peux installer une version supérieure de make 3.X?

2
Terence Eden

Comme le script de configuration semble chercher un emplacement spécifique pour make, je pense que vous avez deux options:

  1. Modifiez le script de configuration pour forcer l'utilisation de l'autre marque, ce qui n'est pas recommandé, car le chemin peut être codé en dur à un nombre quelconque d'endroits.
  2. Remplacez /usr/bin/make par la nouvelle version.

Je ne trouve pas de PPA proposant une version supérieure de make. Je vois donc deux solutions:

Le moyen le plus simple:

 Sudo mv /usr/bin/make /usr/bin/make-3.81
 Sudo ln -s /usr/local/bin/make /usr/bin

De cette façon, vous obtenez une sauvegarde de la marque d'origine et pouvez toujours appeler l'ancienne.

Le chemin le plus long: Utilisez checkinstall pour gérer l’installation. Supprimez les fichiers installés à l'aide de make install, puis procédez comme suit:

Sudo apt-get install checkinstall 
./configure --prefix=/usr
make
Sudo checkinstall make install

Cela ajoute la nouvelle version de to à la base de données d'apt, facilitant ainsi la suppression, la mise à niveau ou la rétrogradation.

4
muru