Si la probabilité que les dépendances de la version d'un paquet figurant dans la version d'Ubuntu (ou d'autres arrangements dérivés de Debian) soient identiques à celles de la version que vous essayez de créer, vous pouvez exécuter apt-get build-dep nginx
ou aptitude build-dep nginx
ne pas installer l'installation. le paquet nginx mais installera à la place tous ceux listés comme dépendances (et leurs dépendances, comme d’habitude) qui inclut libssl-dev
(le paquet que vous recherchez actuellement).
Dans la plupart des cas, cela vous permettra de construire avec succès l’autre version (probablement la plus récente) et d’enregistrer vous-même l’installation de chaque bibliothèque et de ses fichiers d’en-tête. Même s'il existe de nouvelles dépendances dans l'autre version que vous essayez de créer, build-dep <package>
c'est un bon point de départ car cela signifie que vous ne devez installer que les nouvelles dépendances supplémentaires.
À titre d'exemple, le résultat sur l'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 est prévu d’installer certaines bibliothèques et certains en-têtes pour permettre la construction de nginx, mais pas nginx lui-même.
Une chose à noter est que si vous compilez votre propre copie parce que vous voulez différentes options de compilation plutôt que d'avoir besoin d'une version différente pour une raison quelconque, vous feriez peut-être mieux de compiler à partir de la source du référentiel pour le paquet plutôt que d'utiliser directement les sources en amont. Cette question SO est la première page utile issue d'une recherche rapide, bien que vous puissiez trouver facilement des tutoriels plus détaillés si vous en avez besoin.
Une autre petite chose à noter: les paquets installés à la suite de apt-get build-dep
seront marqués comme installés manuellement, comme si vous aviez fait cela manuellement, comme vous le faites actuellement. Cela signifie que vous ne pouvez pas les supprimer tous en une fois (il n'y en a pas apt-get unintall-dep
ou similaire) - bien que cela ne soit pas différent de la situation que vous obtiendrez de toute façon avec les installations manuelles de bibliothèque / en-tête (je ne mentionne que le fait que certaines personnes s'y attendent être un moyen en une étape d'annuler une build-dep
opération, et il n'y en a pas).