2 votes

Comment terminer l'installation d'un programme à partir de la source ?

J'ai compilé sqlite3 à partir du code source, version 3.6.16. J'ai utilisé --prefix=/usr/bin comme seule option de compilation.

Les binaires se sont compilés et installés correctement, mais dans le répertoire /usr/bin/sqlite3/bin . L'application se trouve donc à /usr/bin/sqlite3/bin/sqlite3 .

Maintenant, comment puis-je "dire à Linux" que sqlite3 est installé à cet endroit ? Donc quand je lance which sqlite3 il imprimerait /usr/bin/sqlite3/bin/sqlite3 ?

J'ai besoin de cette version spécifiquement pour sqlite3 pour compiler un RubyGem ; sqlite3-ruby , v1.3.0 ou plus.

Je suppose que je vais ajouter un PATH ou quelque chose à mon ~/.profile et ensuite exécuter source .profile pour recharger les changements. Qu'est-ce que "dire à Linux" où sont installées les applications à appeler ? symlinks ?

2voto

Flimm Points 36395

Essayez d'éditer ~/.bashrc pour inclure cette ligne :

export PATH=$PATH:/usr/bin/sqlite3/bin/

Une autre façon de faire sans modifier le chemin est de créer un lien symbolique :

sudo ln -s /usr/bin/sqlite3/bin/sqlite3 /usr/local/bin/sqlite3

Sachez que si vous avez installé sqlite3 Le fichier exécutable d'un paquet d'une autre société sera en conflit avec votre nouvelle version compilée. Vous allez devoir exécuter /usr/bin/sqlite3/bin/sqlite3 explicitement.

BTW, en utilisant --prefix=/usr/bin comme une option de compilation n'est pas une très bonne idée, je recommanderais --prefix=/usr/local à la place.

1voto

Kory Wnuk Points 1451

Typiquement, lors de la compilation des sources, j'utilise quelque chose de similaire à ce qui suit :

--prefix=/usr

Je pense que cela mettra tout là où vous vous attendez à ce qu'il soit.

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