Dies ist der Befehl perlmacosx, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
perlmacosx – Perl unter Mac OS X
ZUSAMMENFASSUNG
Dieses Dokument beschreibt kurz Perl unter Mac OS X.
Locken -O http://www.cpan.org/src/perl-5.22.1.tar.gz
tar -xzf perl-5.22.1.tar.gz
cd perl-5.22.1
./Configure -des -Dprefix=/ usr / local /
um
Test machen
sudo make install
BESCHREIBUNG
Die neueste Perl-Version (5.22.1 zum Zeitpunkt dieses Schreibens) wird im Großen und Ganzen ohne Änderungen erstellt
Versionen von Mac OS X ab 10.3 „Panther“.
Um Ihre eigene Perl-Version zu erstellen, benötigen Sie „make“, das Teil von Apple ist
Entwicklertools – auch bekannt als Xcode. Ab Mac OS X 10.7 „Lion“ ist dies möglich
separat als Paket „Befehlszeilentools“ direkt von herunterladen
(Sie benötigen ein kostenloses Konto, um sich anzumelden) oder als
Teil der Xcode-Suite, frei verfügbar im App Store. Xcode ist also eine ziemlich große App
Sofern Sie es nicht bereits haben oder es wirklich wollen, empfehlen wir Ihnen, sich die Befehlszeile zu besorgen
Tools-Paket separat über den Link oben. Wenn Sie dies aus Xcode heraus tun möchten, gehen Sie
Gehen Sie zu Xcode -> Einstellungen -> Downloads und wählen Sie die Option „Befehlszeilentools“.
Zwischen Mac OS X 10.3 „Panther“ und 10.6 „Snow Leopard“, das „Command Line Tools“-Bundle
hieß „Unix-Tools“ und wurde normalerweise mit Mac OS-Installations-DVDs geliefert.
Frühere Versionen von Mac OS
sichere libc, daher wird Threading nicht vollständig unterstützt. Außerdem enthielten frühere Versionen einen Buggy
libdb, daher ist bekannt, dass einige der DB_File-Tests in diesen Versionen fehlschlagen.
Installation Vorsilbe
Der Standardinstallationsort für diese Version verwendet das herkömmliche UNIX-Verzeichnis
Layout unter /usr/local. Dies ist der empfohlene Standort für die meisten Benutzer und wird verlassen
das von Apple bereitgestellte Perl und seine Module ungestört.
Verwendung des Installationspräfixes „/ usr' führt zu einem Verzeichnislayout, das dies widerspiegelt
von Apples Standard-Perl, mit Kernmodulen, die in „/System/Library/Perl/${version}“ gespeichert sind,
CPAN-Module, die in „/Library/Perl/${version}“ gespeichert sind, und das Hinzufügen von
'/Network/Library/Perl/${version}' an @INC für Module, die auf einem Dateiserver gespeichert sind
und wird von vielen Macs verwendet.
SDK Support
Exportieren Sie zunächst den Pfad zum SDK in die Build-Umgebung:
export SDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
Bitte stellen Sie sicher, dass die SDK-Version (dh die Zahlen direkt vor „.sdk“) mit Ihrer übereinstimmt
Betriebssystem (in diesem Fall Mac OS X 10.8 „Mountain Lion“), da es möglich ist, mehr zu haben
mehr als ein SDK installiert. Stellen Sie außerdem sicher, dass der Pfad in Ihrem System vorhanden ist. Falls nicht, stellen Sie sicher, dass der Pfad vorhanden ist
Bitte stellen Sie sicher, dass das SDK ordnungsgemäß installiert ist, da es mit der Befehlszeile geliefert werden sollte
Das oben erwähnte Tools-Paket. Wenn Sie schließlich ein älteres Mac OS X (10.6 „Snow Leopard“
und niedriger) mit Xcode 4.2 oder niedriger, könnte der SDK-Pfad etwa so aussehen
'/Developer/SDKs/MacOSX10.3.9.sdk'.
Sie können das SDK verwenden, indem Sie einige Ergänzungen zu Perls „ccflags“- und „..flags“-Konfiguration exportieren
Variablen:
./Configure -Accflags="-nostdinc -B$SDK/usr/include/gcc \
-B$SDK/usr/lib/gcc -isystem$SDK/usr/include \
-F$SDK/System/Library/Frameworks" \
-Aldflags="-Wl,-syslibroot,$SDK" \
-die
Universal- Binär Support
Hinweis: Ab Mac OS X 10.6 „Snow Leopard“ unterstützt Apple nur noch Intel-basierte Hardware.
Das bedeutet, dass Sie diesen Abschnitt getrost überspringen können, es sei denn, Sie besitzen einen älteren Apple-Computer
auf PPC laufen oder eine Perl-Binärdatei mit Abwärtskompatibilität erstellen möchten.
Sie können Perl als universelle Binärdatei kompilieren (sowohl für PPC als auch für Intel erstellt). Unter Mac OS X
10.4 „Tiger“ müssen Sie die „u“-Variante des SDK exportieren:
export SDK=/Developer/SDKs/MacOSX10.4u.sdk
Für Mac OS X 10.5 „Leopard“ und höher ist die „u“-Variante nicht erforderlich.
Fügen Sie zusätzlich zu den Compiler-Flags, die zum Auswählen des SDK verwendet werden, auch die Flags zum Erstellen hinzu
eine universelle Binärdatei:
./Configure -Accflags="-arch i686 -arch ppc -nostdinc -B$SDK/usr/include/gcc \
-B$SDK/usr/lib/gcc -isystem$SDK/usr/include \
-F$SDK/System/Library/Frameworks" \
-Aldflags="-arch i686 -arch ppc -Wl,-syslibroot,$SDK" \
-die
Beachten Sie, dass diese Compiler- und Linker-Einstellungen auch beim Erstellen von CPAN verwendet werden
Module. Damit XS-Module als universelle Binärdatei kompiliert werden können, sind alle Bibliotheken erforderlich, auf die sie verlinkt sind
müssen auch universelle Binärdateien sein. Die Systembibliotheken, die Apple mit 10.4u enthält
SDKs sind alle universell, aber vom Benutzer installierte Bibliotheken müssen möglicherweise neu installiert werden
Universelle Binärdateien.
64-bit PPC Support
Folgen Sie den Anweisungen in INSTALLIEREN um Perl mit Unterstützung für 64-Bit-Ganzzahlen zu erstellen
(„use64bitint“) oder sowohl 64-Bit-Ganzzahlen als auch 64-Bit-Adressierung („use64bitall“). Im
Im letzteren Fall läuft die resultierende Binärdatei nur auf G5-basierten Hosts.
Die Unterstützung der 64-Bit-Adressierung ist experimentell: Einige Aspekte von Perl können weggelassen werden oder
Buggy. Beachten Sie die von ausgegebenen Meldungen Einrichtung Für weitere Informationen. Bitte verwenden Sie „perlbug“
für den Fall, dass Sie auf Schwierigkeiten stoßen, eine Problemmeldung einzureichen.
Beim Erstellen von 64-Bit-Modulen liegt es in Ihrer Verantwortung, sicherzustellen, dass die externe Verbindung erfolgt
Bibliotheken und Frameworks bieten 64-Bit-Unterstützung. Wenn dies nicht der Fall ist, kann dies bei der Modulerstellung der Fall sein
Scheint erfolgreich zu sein, aber Versuche, das Modul zu verwenden, führen zu einer dynamischen Verknüpfung zur Laufzeit
Fehler und daraus resultierende Testfehler. Sie können „Datei“ verwenden, um die Architekturen zu entdecken
Unterstützt durch eine Bibliothek:
$-Datei libgdbm.3.0.0.dylib
libgdbm.3.0.0.dylib: Mach-O-Fat-Datei mit 2 Architekturen
libgdbm.3.0.0.dylib (für Architektur ppc): Mach-O dynamisch verknüpfte gemeinsam genutzte Bibliothek ppc
libgdbm.3.0.0.dylib (für Architektur ppc64): Mach-O 64-Bit dynamisch verknüpfte gemeinsam genutzte Bibliothek ppc64
Beachten Sie, dass dieses Problem die Erstellung vieler Macintosh-spezifischer CPAN-Module ausschließt
(„Mac::*“), da die erforderlichen Apple-Frameworks keine PPC64-Unterstützung bieten. Ähnlich,
Downloads von Fink oder Darwinports bieten wahrscheinlich keine 64-Bit-Unterstützung; die Bibliotheken
muss aus dem Quellcode mit den entsprechenden Compiler- und Linker-Flags neu erstellt werden. Für weitere
Weitere Informationen finden Sie bei Apple 64-Bit Übergang Guide at
<http://developer.apple.com/documentation/Darwin/Conceptual/64bitPorting/index.html>.
libperl und Vorbindung
Mac OS
Kompilieren Sie eine statische Libperl. Der Grund dafür ist die Vorbindung. Dynamische Bibliotheken können sein
Vorab an eine bestimmte Adresse im Speicher gebunden, um die Ladezeit zu verkürzen. Um dies zu tun, eins
muss den Speicherort und die Größe aller zuvor geladenen Bibliotheken kennen. Apfel
sammelt diese Informationen als Teil des gesamten Betriebssystem-Erstellungsprozesses und hat so eine einfache Handhabung
Beim Erstellen von Perl können Sie zwar darauf zugreifen, aber normale Benutzer müssten auf eine Menge zugreifen
Aufwand, um die für die Vorbindung erforderlichen Informationen zu erhalten.
Sie können die Standardeinstellung überschreiben und bei Bedarf eine gemeinsam genutzte Libperl erstellen
(Konfigurieren ... -Duseshrplib).
Mit Mac OS X 10.4 „Tiger“ und neuer gibt es fast keine Leistungseinbußen für nicht-
vorgebundene Bibliotheken. Frühere Versionen benötigen eine längere Ladezeit als beide
statische Bibliothek oder die vorgebundene dynamische Bibliothek von Apple.
Aktualisierung Äpfel Perl
Mit einem Wort: Tun Sie es nicht, zumindest nicht ohne einen *sehr* guten Grund. Ihre Skripte können genauso
Beginnen Sie einfach mit „#!/usr/local/bin/perl“ wie mit „#!/ Usr / bin / perl". Skripte bereitgestellt von
Apple und andere Dritte im Rahmen von Installationspaketen usw. haben im Allgemeinen
Wurde nur mit dem getestet / Usr / bin / perl das ist von Apple installiert.
Wenn Sie feststellen, dass Sie das Perl-System aktualisieren müssen, sollten Sie Folgendes beachten
die Frage von statischen vs. dynamischen Bibliotheken. Wenn Sie ein Upgrade mit der Standardstatik durchführen
libperl, Sie werden feststellen, dass das von Apple bereitgestellte dynamische libperl nicht gelöscht wird. Wenn
beide Bibliotheken sind vorhanden, wenn eine Anwendung erstellt wird, die eine Verknüpfung mit libperl herstellt, ld
wird standardmäßig mit der dynamischen Bibliothek verknüpft. Also, wenn Sie Apples ersetzen müssen
Wenn Sie eine dynamische Libperl mit einer statischen Libperl kombinieren, müssen Sie unbedingt die ältere dynamische Libperl löschen
Bibliothek, nachdem Sie das Update installiert haben.
Bekannt Probleme
Wenn Sie zusätzliche Bibliotheken wie GDBM über Fink installiert haben (mit anderen Worten, Sie haben
Bibliotheken unter /sw/lib) oder libdlcompat zu / Usr / local / lib, müssen Sie möglicherweise extra sein
Seien Sie vorsichtig, wenn Sie „Configure“ ausführen, um „Configure“ und „Perl“ hinsichtlich der Bibliotheken nicht zu verwechseln
benutzen. Verwirrung zeigt sich beispielsweise als „dyld“-Fehler bei Symbolproblemen,
zum Beispiel beim „make test“. Am sichersten ist es, „Configure as“ auszuführen
Konfigurieren Sie ... -Uloclibpth -Dlibpth=/ Usr / lib
Damit „Configure“ nur in die Systembibliotheken schaut. Wenn Sie eine zusätzliche Bibliothek haben
Verzeichnisse, die Sie wirklich verwenden möchten (z. B. neuere Berkeley DB-Bibliotheken in früheren Versionen)
Panther-Systeme), fügen Sie diese zur libpth hinzu:
Konfigurieren Sie ... -Uloclibpth -Dlibpth='/ Usr / lib /opt/lib'
Die Standardeinstellung, Perl statisch zu erstellen, kann bei komplexen Anwendungen wie z. B. zu Problemen führen
Tk: In diesem Fall sollten Sie über die Erstellung von Shared Perl nachdenken
Konfigurieren Sie ... -Duseshrplib
aber denken Sie daran, dass in diesem Fall Startkosten anfallen (siehe oben „libperl und
Vorbindung").
Ab Tiger (Mac OS X 10.4) lieferte Apple fehlerhafte Gebietsschemadateien für eu_ES aus
Gebietsschema (Basken-Spanien). In früheren Versionen von Perl führte dies zu Fehlern im
lib/locale prüfen. Diese Fehler wurden in der aktuellen Version von Perl unterdrückt
Lassen Sie den Test das fehlerhafte Gebietsschema ignorieren. Wenn Sie das Gebietsschema eu_ES verwenden müssen, sollten Sie dies tun
Kontakt Apple-Support.
Kakao
Es gibt zwei Möglichkeiten, Cocoa aus Perl zu verwenden. Das PerlObjCBridge-Modul von Apple, im Lieferumfang enthalten
Mac OS
und Gegenstände.
Eine Alternative ist CamelBones, ein Framework, das den Zugriff sowohl auf Foundation als auch auf AppKit ermöglicht
Klassen und Objekte, sodass vollständige GUI-Anwendungen in Perl erstellt werden können. CamelBones kann sein
gefunden auf SourceForge, unterhttp://www.sourceforge.net/projects/camelbones/>.
Beginnen Sie Ab Schutz vor
Leider ist es nicht so schwierig, sein Mac OS X Perl irgendwie zu knacken
stark. Wenn alles andere fehlschlägt und Sie es wirklich wollen, WIRKLICH, von vorne beginnen und entfernen
Sogar Ihre Apple Perl-Installation (die irgendwie beschädigt wurde) Folgendes
Anweisungen sollten es tun. Bitte kontaktieren Sie uns, wenn Sie Probleme im Zusammenhang mit dieser Website haben oder think zweimal bevor Folgende folgende Anweisungen: vom Nutzer definierten
sind viel Gefällt mir Leitung Einnahme von Medikamenten Chirurgie zu dich selber. Ohne Anästhesie. Wir werden nicht wie die
um Ihr System zu reparieren, wenn Sie dies tun.
Entfernen Sie zunächst die libperl.dylib:
# cd /System/Library/Perl/darwin/CORE
# rm libperl.dylib
Löschen Sie dann alle .bundle-Dateien, die sich irgendwo in den Ordnern befinden:
/System/Bibliothek/Perl
/Bibliothek/Perl
Sie finden sie zum Beispiel bei
# find /System/Library/Perl /Library/Perl -name '*.bundle' -print
Danach können Sie Perl entweder von Ihrem Betriebssystemmedium kopieren (Sie benötigen dazu Folgendes).
Zumindest das /System/Library/Perl und / Usr / bin / perl) oder Perl aus dem Quellcode neu erstellen
mit „Configure -Dprefix=/ usr -Duseshrplib“ HINWEIS: Das „-Dprefix=/ usr" um die zu ersetzen
System Perl funktioniert viel besser mit Perl 5.8.1 und höher, in Perl 5.8.0 waren die Einstellungen
nicht ganz richtig.
„Pazifist“ von CharlesSoft (http://www.charlessoft.com/>) ist eine schöne Möglichkeit, das zu extrahieren
Perl-Binärdateien vom Betriebssystemmedium, ohne das gesamte Betriebssystem neu installieren zu müssen.
Nutzen Sie perlmacosx online über die Dienste von onworks.net