Also habe ich viel mit verschiedenen Suchbegriffen gegoogelt, aber nichts brauchbares gefunden, nur das, was ldd
ich verwenden muss otool -L
, um die verwendeten Bibliotheken eines Programms zu sehen.
Ich habe versucht, bash in ~ / chroot / bin zu kopieren und habe das oben genannte Tool verwendet, um die Abhängigkeiten zu finden und auch dort zu speichern (naja, natürlich habe ich es so aussehen lassen, als wäre es der echte Pfad. / Usr wurde zu ~ / chroot / usr etc ).
Aber wenn ich versuche sudo chroot ~/chroot
, es zu benutzen , sagt es mir das there is no file or directory
meiner Muschel. Wat.
Ich muss in eine "save" -Umgebung chrooten, um ein Paket zu kompilieren, das auch in einer chrooten Umgebung ausgeführt wird. Konkret kann ich php
statisch nicht kompilieren:
Kevins-MacBook-Air:System Ingwie$ otool -L ./bin/php
./bin/php:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/local/lib/libmcrypt.4.dylib (compatibility version 9.0.0, current version 9.8.0)
/usr/local/lib/libltdl.3.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libpng16.16.dylib (compatibility version 20.0.0, current version 20.0.0)
/usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.8.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.1.0)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.1.0)
/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
Das Ändern makefile
von -export-dynamic
zu -all-static
und solche Tricks haben nichts gebracht. Es wird immer noch so kompiliert. Um das herauszufinden, möchte ich chroot. Das Paket verwendet ein Entrence-Skript, um die Chroot zu reproduzieren, und wird von dort aus ausgeführt.