Ich habe Probleme damit, dass MacPorts ordnungsgemäß funktioniert. Ich habe gerade OSX Lion 10.7.3 installiert. Ich habe zuerst MacPorts heruntergeladen und installiert. Nachdem ich die Anforderungen gelesen hatte, habe ich Xcode4.3 aus dem App Store heruntergeladen und dann installiert. Ich habe Xcode gestartet und es scheint betriebsbereit und funktionsfähig zu sein. Als ich jedoch versuchte, mit MacPorts zu portieren, erhielt ich folgende Fehlermeldung (Auszug):
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
Ich folgte dem Rat von:
Wie installiere ich zusätzliche Pakete für Xcode unter OSX Lion, damit MacPorts funktioniert
und installierte command_line_tools_for_xcode aus den Einstellungen in Xcode. Ich habe Xcode geschlossen und wieder die Fehler bekommen:
$ Sudo port install libsocketsPassword:
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
---> Computing dependencies for libsockets
---> Dependencies to be installed: openssl zlib
---> Extracting zlib
Error: Couldn't determine your Xcode version (from '/usr/bin/xcodebuild -version').
Error:
Error: If you have not installed Xcode, install it now; see:
Error: http://guide.macports.org/chunked/installing.xcode.html
Error:
Error: Target org.macports.extract returned: unable to find Xcode
Error: Failed to install zlib
Log for zlib is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_zlib/zlib/main.log
Error: The following dependencies were not installed: openssl zlib
Error: Status 1 encountered during processing.
Ich bin mir nicht sicher, wohin ich als nächstes gehen soll. Wie kann ich meine Xcode- und MacPort-Oberfläche fehlerfrei testen?
Theoretisch sollte dies funktionieren, wenn Sie Xcode4.3 installiert haben (in/Applications):
$ Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(Und Sie haben die optionalen Befehlszeilentools installiert.)
Nach der Installation des Pakets "Command Line Tools for Xcode" funktioniert alles einwandfrei. Sie können es hier herunterladen: https://developer.Apple.com/downloads/index.action#
Bitte lesen Sie die MacPorts Migrationsanweisungen für Xcode 4. .
Die Anweisungen sind ziemlich kompliziert. Sie müssen xcode-select
Ausführen, um einen neuen Werkzeugpfad festzulegen, developer_dir
In macports.conf
Aktualisieren (wie von Henk Poley beschrieben) und MacPorts erneut installieren (autsch), und deinstallieren Sie schließlich alle Ihre Ports und installieren Sie sie erneut (double autsch).
Bearbeiten: libpvx
würde nach dem oben genannten immer noch nicht installiert. Zwei zusätzliche Schritte waren erforderlich:
Sudo ln -s /Developer /
Sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
YMMV wenn du verschiedene Ports installiert hast!
Auch in /opt/local/etc/macports/macports.conf
Ändern Sie die Zeile mit developer_dir
deuten auf /
anstatt /Developer
.
Nach
Sudo xcode-select -switch /Applications/Xcode.app
Ich musste auch rennen
Sudo xcodebuild -license
und akzeptieren Sie die Lizenz
Hier ist eine Lösung, die für mich funktioniert hat:
Installieren Sie die Befehlszeilentools für Xcode
Xcode -> Preferences -> Downloads
Helfen Sie MacPorts, den richtigen Xcode-Ordner zu finden
Sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
Erstellen Sie symbolische Links für Clang-Compiler, da diese jetzt an anderer Stelle leben
Sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/
Sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/
Sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
Sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild
Versuchen Sie es mit trunk, es gibt noch keine Version, die Xcode 4.3 unterstützt.
Das Festlegen des Entwicklerpfads in /opt/local/etc/macports.conf funktioniert für mich.
developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
da die meisten compiler dort nun statt/usr/bin unter developer gespeichert sind.
Nichts davon funktioniert für mich. Warten Sie, bis Macports eine neue Version veröffentlicht hat, die offiziell XCode 4.3+ unterstützt
Ab Xcode 4.3 werden die Befehlszeilen-Build-Tools nicht standardmäßig installiert. Starten Sie Xcode, öffnen Sie die Einstellungen und wechseln Sie zur Registerkarte Downloads. Von dort aus sollten Sie die Option haben, die Befehlszeilentools zu installieren.
Sie können sie auch hier aus dem Internet herunterladen: https://developer.Apple.com/downloads/index.action
Haftungsausschluss: Ich habe Xcode 4.3 noch nicht installiert. Ich habe nur im Internet darüber gelesen.
Ab dem 27.2.2012 scheint der offizieller Vorschlag von MacPorts XCode 4.3 nicht zu verwenden und stattdessen 4.1 bis 4.2.1 zu verwenden, die von Apple heruntergeladen werden können.
Es gibt ein Bug-Ticket , das nützlich sein kann, um die Entwicklung zu verfolgen.
Übrigens und wie in meinem Kommentar Nr. 11 in diesem Fehlerbericht berichtet, bin ich in der Lage , Ports ohne Warnungen zu erstellen, indem ich die 2 am vernünftigsten aussehenden Vorschläge verwende gefunden in dieser Frage: Sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
und Ändern von developer_dir
in /opt/local/etc/macports/macports.conf zu /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
Ich habe Macports ohne Administrator-/Root-Rechte installiert, daher konnte ich die Antworten von xcode-select nicht testen. Ich bemerkte jedoch, dass Pall Melsteds Antwort funktionierte, aber zunächst nicht. Was ich herausfand, war, dass ich nicht akzeptierte die Xcode 4.5-Lizenzvereinbarung!
Wenn Sie Xcode gerade für Macports installiert haben und die Xcode-Lizenz noch nicht akzeptiert haben, wird der Fehler möglicherweise durch den ursprünglichen Beitrag angezeigt. Als ich meine Xcode-Version mit /usr/bin/xcodebuild -version
Überprüfte, wurde ich aufgefordert, die Lizenz zu lesen und zu akzeptieren. Nachdem Sie dies getan haben und die von Pall vorgeschlagenen Änderungen am macports.conf
developer_dir
Vorgenommen haben, funktioniert jetzt alles.
Dies ist in MacPorts 2.0.4 behoben.
Upgraden:
Ich hatte zuerst xcode 3.2.2 installiert, danach 4.3. Als ich den xcode-select ausgeführt habe, habe ich immer noch den gleichen Fehler über kein xcode-Projekt in/Applications. Ich habe mich dann im Skript/usr/bin/xcodebuild umgesehen und herausgefunden, dass dies korrekt funktioniert, und eine andere Instanz von xcodebuild (die mit xcode 4.3 installiert wurde, nicht die in/usr/bin) wurde ausgeführt und gab den Fehler zurück :
xcodebuild: error: Das Verzeichnis/Applications enthält kein Xcode-Projekt.
Es scheint, dass/usr/bin/xcode-select für xcode 4.3 nicht funktioniert (es wurde kompiliert, sodass Sie nicht wirklich erkennen können, warum es nicht funktioniert). Strings geben keine Hinweise. Gut, dass osx Probleme hat .. oh warte.
Das Beste, was ich tun konnte, war, /opt/local/etc/macports.conf zu ändern und die Zeile mit dem Pfad zur xcode-Installation zu entfernen. Das scheint mein Problem zum größten Teil zu beheben.
Sie sollten auf jeden Fall Sudo xcode-select -switch /Applications/Xcode.app
Ausführen, wie jeder hier sagt, das behebt viele Probleme, aber sicherlich nicht alle.
Afaik, alle verbleibenden Probleme bestehen in den Konfigurationsinformationen für verschiedene Pakete. Sie könnten MacPorts einfach neu installieren, wie in Migrationsanweisungen beschrieben, aber ich habe eine andere Lösung gefunden.
Sie sollten alle betroffenen Portdateien mit Befehlen wie grep /Developer/ ...
Suchen, nachdem Sie Sudo bash
Und cd /opt/local
Auf natürliche Weise ausgeführt haben.
Sie sollten alle betroffenen Ports mit port provides ...
Identifizieren, das ich durch sed
und sort | uniq
Geleitet habe. Sie können einfach alle diese Ports mit den Befehlen port -n upgrade --force ...
Oder mit den Befehlen port uninstall ...
Und port install ...
Neu installieren.
Ich empfehle die Verwendung eines großen Befehls port -n upgrade --force ...
, Um doppelte Neuerstellungen von Abhängigkeiten zu vermeiden. Verwenden Sie anschließend die separaten Befehle uninstall und install.
Es gibt natürlich verschiedene Ports, für die /Developer
Nur in Textkonfigurationsdateien existiert, was bedeutet, dass Sie sie manuell mit sed -i -e 's/\/Developer//g' ...
Reparieren können, aber Sie können dies natürlich nicht mit Binärdateien tun.
Ich befürchte, Sie müssen mindestens alle Ihre Python und Perl-Installationen neu erstellen, damit dieses Upgrade eine ideale Zeit ist, um Pakete zu bereinigen, die von älteren Versionen abhängen, unter anderem python26
Und Perl5.8
.
Es gibt mehrere technisch bedingte Ports, die ich gegen eine Neuerstellung entschieden habe, wie Fuse4x-kext
, Die /Developer
In Library/Extensions/Fuse4x.kext/Contents/MacOS/Fuse4x
Enthielten, aber die korrekte Funktion von sshfs
nicht verhinderten.
Alternativ: Sie können ein Downgrade von Xcode auf die Version 4.2.1 durchführen. DMG von Xcode 4.2.1 hier platziert: https://developer.Apple.com/downloads/index.action
Danach funktionierte MacPorts für mich einwandfrei.