我无法让MacPorts正常运行。我刚刚安装了OSX Lion 10.7.3我首先下载并安装了MacPorts,然后在阅读了要求之后,我从App Store下载了Xcode4.3,然后安装了它。我推出了Xcode,它看起来是可操作的和功能性的。但是,当我尝试使用MacPorts移植时,它给了我这个错误消息(摘录):
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
我遵循了以下建议:
How do i install additional packages for Xcode on OSX Lion to allow MacPorts to work
并从Xcode中的Preferences中安装了command_line_tools_for_xcode。我关闭了Xcode,并再次得到错误:
$ 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.
我不确定下一步该怎么做。如何解决我的Xcode和MacPort界面问题?
答案 0 :(得分:82)
理论上,如果您安装了Xcode4.3(在/ Applications中),这应该可以工作:
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(并且您已经安装了可选的命令行工具)
答案 1 :(得分:18)
安装“Xcode命令行工具”软件包后,一切都会正常工作。 你可以从这里得到它:https://developer.apple.com/downloads/index.action#
答案 2 :(得分:11)
请参阅MacPorts migration instructions for Xcode 4.3。
说明非常复杂。您需要运行xcode-select
来设置新工具路径,在developer_dir
中更新macports.conf
(如Henk Poley所述),重新安装MacPorts(ouch),最后卸载并重新安装所有端口(双ouch)。
编辑: libpvx
仍然无法在上述内容后安装。需要两个额外的步骤:
sudo ln -s /Developer /
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
如果您安装了不同的端口,则为YMMV!
答案 3 :(得分:10)
同样在/opt/local/etc/macports/macports.conf
更改developer_dir
的行,指向/
而不是/Developer
。
答案 4 :(得分:5)
之后
sudo xcode-select -switch /Applications/Xcode.app
我也必须跑
sudo xcodebuild -license
并接受许可
答案 5 :(得分:4)
这是一个对我有用的解决方案:
为Xcode安装命令行工具
Xcode -> Preferences -> Downloads
帮助MacPorts找到合适的Xcode文件夹
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
为clang编译器创建符号链接,因为它们现在位于其他地方
sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/
答案 6 :(得分:2)
这对我来说都不适用。等待macports发布一个正式支持XCode 4.3 +
的新版本答案 7 :(得分:2)
在/opt/local/etc/macports.conf中设置开发人员路径对我有用,
developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
因为大多数编译器现在存储在那里而不是开发人员下的/ usr / bin。
答案 8 :(得分:2)
尝试使用trunk,还没有支持Xcode 4.3的版本。
答案 9 :(得分:2)
sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild
答案 10 :(得分:1)
截至2012年2月27日,来自MacPorts的official suggestion似乎是不使用XCode 4.3而是使用4.1到4.2.1,可以从Apple下载。
有一个bug ticket可能对跟进此演变有用。
顺便说一句,正如我在该错误报告中的第11条评论中所报告的那样,我我能够通过使用此问题中找到的2个最健全的建议来构建没有警告的端口:{{1并将/opt/local/etc/macports/macports.conf中的sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
更改为developer_dir
答案 11 :(得分:1)
我安装的macports没有admin / root权限,所以我无法测试xcode-select答案。然而,我观察到Pall Melsted的答案有效,但最初并非如此。我发现的是我没有接受Xcode 4.5许可协议!
如果您刚刚为macports安装了Xcode,并且尚未接受Xcode许可证,则可能会收到原始帖子提供的错误。当我使用/usr/bin/xcodebuild -version
检查我的Xcode版本时,我被提示阅读并接受许可证。完成此操作后,在将颇尔建议的更改发送到macports.conf
developer_dir
之后,现在一切正常。
答案 12 :(得分:1)
从Xcode 4.3开始,默认情况下不安装命令行构建工具。启动Xcode,打开“首选项”,然后转到“下载”选项卡。从那里你可以选择安装命令行工具。
您也可以在网上下载:https://developer.apple.com/downloads/index.action
免责声明:我还没有安装Xcode 4.3。我只是在网上看过它。
答案 13 :(得分:0)
作为替代方案:您可以将Xcode降级到4.2.1版本。 Xcode 4.2.1的DMG放在这里:https://developer.apple.com/downloads/index.action
在此之后,MacPorts变得对我来说很好。
答案 14 :(得分:0)
这已在MacPorts 2.0.4中修复。
要升级:
sudo port selfupdate
。答案 15 :(得分:0)
你应该像所有人一样运行sudo xcode-select -switch /Applications/Xcode.app
,这样可以解决很多问题,但肯定不是全部。
Afaik,各种软件包的配置信息中存在所有剩余的问题。您可以按照migration instructions中的说明重新安装MacPorts,但我找到了另一种解决方案。
在自然执行grep /Developer/ ...
和sudo bash
之后,您应该使用cd /opt/local
之类的命令开始查找所有受影响的端口文件。
您应该使用port provides ...
标识所有受影响的端口,我通过sed
和sort | uniq
传输了该端口。您只需使用port -n upgrade --force ...
或单独的port uninstall ...
和port install ...
命令重新安装所有这些端口。
我建议使用一个大port -n upgrade --force ...
命令来避免重复重建依赖项,之后使用单独的卸载和安装命令。
当然,/Developer
仅存在于文本配置文件中的各种端口,这意味着您可以使用sed -i -e 's/\/Developer//g' ...
手动修复它们,但显然不能使用二进制文件。
我担心您必须至少重建所有Python和Perl安装,使此升级成为清除依赖于旧版本ala python26
和perl5.8
的软件包的理想时间。
有几个受技术影响的端口,我决定反对重建,例如fuse4x-kext
,其/Developer
内包含Library/Extensions/fuse4x.kext/Contents/MacOS/fuse4x
,但未阻止sshfs
正常工作。
答案 16 :(得分:0)
我最初安装了xcode 3.2.2,之后我安装了4.3。当我运行xcode-select时,我仍然得到关于/ Applications中没有xcode项目的相同错误。然后我挖了/ usr / bin / xcodebuild脚本,发现这个工作正常,并且正在运行另一个xcodebuild实例(安装了xcode 4.3,而不是/ usr / bin中的那个实例)并返回错误:
xcodebuild:错误:目录/ Applications不包含Xcode项目。
似乎/ usr / bin / xcode-select不适用于xcode 4.3,(它已编译,所以你无法真正理解为什么它不能正常工作)。字符串不提供任何线索。 osx有好事哦..等等。
无论如何,我能做的最好的事情是修改/opt/local/etc/macports.conf 并取消注释包含xcode安装路径的行。这似乎在很大程度上解决了我的问题。