Je veux lancer 'make install' donc j'ai tout ce dont j'ai besoin, mais j'aimerais qu'il installe les choses dans leur propre dossier par opposition à/usr/bin etc. est-ce possible ? même s'il fait référence à des outils dans/usr/bin etc. ?
Réponses
Trop de publicités?Ça dépend du paquet. Si le Makefile est généré par des outils automatiques GNU (./configure
), vous pouvez généralement définir l'emplacement cible comme suit :
./configure --prefix=/somewhere/else/than/usr/local
Si le Makefile n'est pas généré par des outils automatiques, mais distribué avec le logiciel, il suffit de l'ouvrir dans un éditeur et de le modifier. Le répertoire cible d'installation est probablement défini dans une variable quelque part.
make DESTDIR=./new/customized/path install
Cette commande rapide a fonctionné pour moi pour l'installation de la version 3.2.0 de opencv sur Ubuntu 16. Le chemin DESTDIR peut être relatif aussi bien qu'absolu.
Une telle redirection peut également être utile dans le cas où l'utilisateur n'a pas de privilèges d'administrateur tant que l'emplacement DESTDIR a un droit d'accès pour l'utilisateur. par exemple /home//
Cela peut dépendre de ce qui est pris en charge par le module que vous essayez de compiler. Si votre makefile est généré en utilisant des outils automatiques, utilisez :
--prefix=<myinstalldir>
lors de l'exécution de ./configure
certains paquets vous permettent également de remplacer lors de l'exécution :
make prefix=<myinstalldir>
cependant, si vous n'utilisez pas./configure, la seule façon d'en être sûr est d'ouvrir le makefile et de vérifier. Il devrait être l'une des premières variables en haut.
Si le paquet fournit un Makefile.PL
- on peut utiliser :
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
* Explication supplémentaire : https://www.perlmonks.org/?node_id=564720