S'il est probable que les dépendances de la version d'un paquet qui se trouve dans la version d'Ubuntu (ou d'autres arrangements dérivés de Debian) sont les mêmes que celles de la version que vous essayez de construire, vous pourriez exécuter apt-get build-dep nginx
o aptitude build-dep nginx
- ceci n'installera pas le paquet nginx mais installera à la place tous ceux qui sont listés comme dépendants (et leurs dépendances, comme d'habitude) ce qui inclut libssl-dev
(le paquet que vous recherchez actuellement).
Dans la plupart des cas, cela permettra à la construction de l'autre version (vraisemblablement plus récente) de se terminer avec succès, et cela vous évite d'installer vous-même chaque bibliothèque et ses fichiers d'en-tête un par un. Même s'il y a de nouvelles dépendances dans l'autre version que vous essayez de construire, build-dep <package>
est un bon point de départ car cela signifie que vous n'avez qu'à installer manuellement les nouvelles dépendances supplémentaires.
À titre d'exemple, le résultat sur un de mes serveurs est le suivant :
user@host:~$ sudo aptitude build-dep nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
autotools-dev cvs{a} debhelper gettext{a} html2text{a} intltool-debian{a}
libcroco3{a} libmail-sendmail-perl{a} libpcre3-dev libpcrecpp0{a}
libssl-dev libsys-hostname-long-perl{a} po-debconf{a} zlib1g-dev
0 packages upgraded, 14 newly installed, 0 to remove and 19 not upgraded.
Need to get 7,217kB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?]
Il a l'intention d'installer quelques bibliothèques et en-têtes, pour permettre une construction de nginx, mais pas nginx lui-même.
Une chose à noter est que si vous compilez votre propre copie parce que vous voulez des options de construction différentes plutôt que d'avoir besoin d'une version différente pour une raison quelconque, il est préférable de compiler à partir des sources du dépôt pour le paquet plutôt que d'utiliser directement les sources amont. Cette question de l'OS est la première page utile qui ressort d'une recherche rapide, mais vous trouverez facilement des didacticiels plus détaillés si vous en avez besoin.
Une autre petite chose à noter : les paquets installés à la suite de l'application <code>apt-get build-dep</code> sera marqué comme installé manuellement comme si vous l'aviez fait à la main comme vous le faites actuellement. Cela signifie que vous ne pouvez pas les supprimer tous en une seule fois (il n'y a pas d'option d'installation manuelle). <code>apt-get unintall-dep</code> ou similaire) - bien que cela ne soit pas différent de la situation que vous obtiendrez avec les installations manuelles de bibliothèques/en-têtes de toute façon (je mentionne seulement le fait que certaines personnes s'attendent à ce qu'il y ait un moyen unique d'annuler une installation de <code>build-dep</code> opération, et il n'y en a pas).