Wenn die Wahrscheinlichkeit, dass die Abhängigkeiten für die Version eines Pakets in der Veröffentlichung von Ubuntu (oder anderen von Debian abgeleiteten Arrangements) mit den Abhängigkeiten für die Version, die Sie erstellen möchten, identisch sind, können Sie Folgendes ausführen apt-get build-dep nginx
oder aptitude build-dep nginx
- dies wird nicht installiert Das nginx-Paket installiert jedoch stattdessen alle als Abhängigkeiten (und wie üblich deren Abhängigkeiten) aufgelisteten libssl-dev
Pakete, einschließlich des derzeit gesuchten Pakets.
In den meisten Fällen kann auf diese Weise die Erstellung der anderen (vermutlich neueren) Version erfolgreich abgeschlossen werden, und Sie müssen nicht jede Bibliothek und ihre Header-Dateien einzeln installieren. Auch wenn in der anderen Version, die Sie erstellen möchten, neue Abhängigkeiten vorhanden sind, build-dep <package>
ist dies ein guter Anfang, da Sie nur die zusätzlichen neuen Abhängigkeiten manuell installieren müssen.
Das Ergebnis auf einem meiner Server ist beispielsweise:
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/?]
Es ist beabsichtigt, einige Bibliotheken und Header zu installieren, um einen Nginx-Build zu ermöglichen, jedoch nicht Nginx selbst.
Beachten Sie Folgendes: Wenn Sie Ihre eigene Kopie kompilieren, weil Sie aus irgendeinem Grund andere Erstellungsoptionen möchten, anstatt eine andere Version zu benötigen, ist es möglicherweise besser, sie aus der Quelle des Repositorys für das Paket zu kompilieren, als die Upstream-Quellen direkt zu verwenden. Diese SO-Frage ist die erste nützliche Seite, die aus einer Schnellsuche hervorgegangen ist, obwohl Sie wahrscheinlich leicht ausführlichere Tutorials finden, wenn Sie das brauchen.
Noch ein kleiner Hinweis: Die als Ergebnis von installierten Pakete apt-get build-dep
werden als manuell installiert markiert, als ob Sie dies von Hand getan hätten, wie Sie es gerade tun. Das bedeutet, dass Sie nicht alle auf einmal entfernen können (es gibt keine apt-get unintall-dep
oder ähnliche). Dies unterscheidet sich jedoch nicht von der Situation, die Sie bei manuellen Bibliotheks- / Header-Installationen erhalten (ich erwähne nur die Tatsache, wie einige Leute es erwarten) eine Ein-Schritt-Methode sein, um eine build-dep
Operation rückgängig zu machen , und es gibt keine).