2012-02-17 44 views
61

我无法使MacPorts正常工作。我刚刚安装了OSX Lion 10.7.3,我首先下载并安装了MacPorts,然后在阅读要求后,我从App Store下载了Xcode4.3,然后安装它。我推出了Xcode,它看起来很实用和功能强大。然而,当我试图端口的MacPorts,它给了我这个错误消息(节选):安装Xcode 4.3后无法获得MacPort功能

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的偏好和安装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界面的问题?

回答

78

从理论上讲,如果你有安装Xcode4.3(/应用程序)这应该工作:

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/ 

(你已经安装了可选的命令行工具)

+0

这也适用于我。 – Scot 2012-02-27 19:54:09

+0

当把Xcode从4.2更新到4.3时,这也适用于我;我相信你只需要重新安装mac-ports,如果你做了一个主要的操作系统更新 – 2012-03-13 09:28:53

+1

+1。谢谢!!被接受/最高评分的答案看起来非常痛苦! – Otto 2012-03-19 21:52:52

1

从Xcode 4.3开始,默认情况下不安装命令行构建工具。启动Xcode,打开首选项,然后转到下载选项卡。从那里你应该可以选择安装命令行工具。

您也可以从这里网上下载它们:https://developer.apple.com/downloads/index.action

免责声明:我还没有安装的Xcode 4.3呢。我只在网上阅读过它。

+1

我安装的命令行工具,按[链接](HTTP://计算器。 com/questions/9323738/unable-to-get-macport-functionality-after-installing-xcode-4-3),但没有效果。 – Jason 2012-02-17 07:04:28

+2

你可以尝试运行'xcode-select -switch/Applications/Xcode.app'。 – 2012-02-17 07:23:45

+1

这工作,但现在铛是不是哪里的MacPorts希望它是,即在USR /斌/铛 – 2012-02-17 11:57:12

2

尝试使用trunk,目前还没有支持Xcode 4.3的版本。

10

也在/opt/local/etc/macports/macports.conf将行改为developer_dir指向/而不是/Developer

+1

记住要取消对该行的! (它注释掉了#默认情况下) – gmcnaughton 2012-02-17 18:37:15

+0

我用:“sudo的纳米/opt/local/etc/macports/macports.conf”编辑配置,而这还没有做到这一点,所以我跟着其他建议@gmcnaughton和它终于工作。感谢您的帮助。 – Jason 2012-02-17 21:25:50

+0

为我工作的机智XCode 4.6 – silentser 2013-04-29 13:09:57

2

设置在/opt/local/etc/macports.conf开发商路径为我的作品,

developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain 

由于大多数编译器正在开发存储在那里,而不是现在的/ usr/bin中的。

+0

为我工作 - 谢谢。 – ioquatix 2012-02-25 03:26:48

11

请参阅MacPorts migration instructions for Xcode 4.3

这些说明很相关。您需要运行xcode-select来设置一个新的工具路径,更新macports.conf中的developer_dir(如Henk Poley所述),重新安装MacPorts(ouch),最后卸载并重新安装所有端口(双重ouch)。

编辑:libpvx仍然不会安装上述之后。被要求两个额外的步骤:

  1. sudo ln -s /Developer /
  2. sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs

因人而异,如果你安装了不同的端口!

+2

我能够通过将两个软链接添加到我的根目录(编辑中提到的开发人员和SDK)来获得此功能。没有必要的macports迁移。 – plainjimbo 2012-02-17 20:20:16

+0

这些附加信息有助于解决问题,并最终开始工作。我使用'sudo nano/opt/local/etc/macports/macports.conf'来更新配置文件。非常感谢,我现在成功地使用了MacPorts。 – Jason 2012-02-17 21:28:56

+2

这些说明比需要的更复杂。我简单地确保'的Xcode-select'被指向正确的路径和/opt/local/etc/macports.conf有'developer_dir /应用/ Xcode.app /内容/开发商/工具链/ XcodeDefault.xctoolchain'。 – ioquatix 2012-02-25 03:28:34

4

这里是为我工作的解决方案:

  1. 安装命令行工具Xcode的

    Xcode -> Preferences -> Downloads 
    
  2. 帮助的MacPorts找到合适的Xcode文件夹

    sudo /usr/bin/xcode-select -switch /Applications/Xcode.app 
    
  3. 为叮当编译器创建符号链接,因为它们现在在别处生活

    sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/ 
    sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/ 
    
+1

是sudo/usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer更合适吗?我现在以这种方式成功构建了macports。 – Matt 2012-02-24 06:34:02

+0

看起来'Contents/Developer'被自动添加。 '的Xcode选-print-path'显示'/应用/ Xcode.app /内容/ Developer' – 2012-02-24 10:13:18

2

没有这对我的作品。等待macports发布官方支持Xcode的新版本4.3+

18

安装完“命令行工具for Xcode”包后,所有东西都能正常工作。 你可以从这里得到它:https://developer.apple.com/downloads/index.action#

+0

不知道为什么,这是否决...工作对我来说就像魅力..感谢帕维尔 – 2012-04-28 06:58:54

+0

我的MacPorts的重装直到命令行工具也通过xcode中的首选项下载后才能正常运行。这个答案匹配我所做的工作。 – devNoise 2012-04-30 16:01:49

+0

尝试任何迁移之前。我下载了“命令行工具...”并且完美地工作。 Mac OS Lion + xCode 4.3.3。无需迁移 – 2012-07-18 20:31:13

1

截至27/2/2012,来自MacPorts的official suggestion似乎不使用XCode 4.3,而是使用4.1到4.2.1,它们可以从Apple下载。

有一个bug ticket这可能是有用的遵循这个演变。

顺便说一句,和在错误报告中报告在我的评论#11,我能够通过使用在这个问题上找到了2个最理智的前瞻性建议,以建立一个没有警告港口:sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer位于/ opt改变developer_dir /local/etc/macports/macports.conf到/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

+0

假设2011年应该是2012年? – sblom 2012-02-28 20:31:41

+0

是的,抱歉,编辑。 – hmijail 2012-05-07 01:53:34

0

这是在MacPorts 2.0.4中修复的。

升级:

  1. 下载的MacPorts从install site 2.0.4或运行sudo port selfupdate
  2. 运行描述为here的MacPorts迁移以重新安装所有端口。这很痛苦,但需要恢复到工作状态。
0

你一定应该运行sudo xcode-select -switch /Applications/Xcode.app像大家在这里说的那样,这将解决许多问题,但肯定不是全部。

Afaik,所有其余的问题存在于各种软件包的配置信息中。您可能只需重新安装MacPorts,如migration instructions中所述,但我找到了另一种解决方案。


你应该开始寻找使用命令所有受影响的端口文件,如grep /Developer/ ...,执行sudo bashcd /opt/local后自然。

您应该通过使用port provides ...来标识所有生效的端口,我通过sedsort | uniq来管道。您可以使用port -n upgrade --force ...或单独的port uninstall ...port install ...命令简单地重新安装所有这些端口。

我推荐使用一个大的port -n upgrade --force ...命令来避免重复的依赖关系重建,然后再使用单独的卸载和安装命令。

当然,/Developer只存在于文本配置文件中,这意味着您可以使用sed -i -e 's/\/Developer//g' ...手动修复它们,但显然您不能在二进制文件中这样做。

恐怕你至少必须重新构建所有的Python和Perl安装,使这个升级一个理想的时间来清理掉那些依靠旧版本的软件包,ALA python26perl5.8

有几个技术上影响的港口,我决定对重建像fuse4x-kext,谁载/DeveloperLibrary/Extensions/fuse4x.kext/Contents/MacOS/fuse4x但一直没有正常工作防止sshfs

2
sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old 
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild 
0

我最初安装了xcode 3.2.2,之后我安装了4.3。当我运行xcode-select时,我仍然得到了关于/ Applications中没有xcode项目的相同错误。然后我深入到/ usr/bin/xcodebuild脚本中,发现这是正常工作的,另一个xcodebuild实例(与xcode 4.3一起安装,不在/ usr/bin中)正在运行并返回错误:

xcodebuild:error:目录/应用程序不包含Xcode项目。

看起来/ usr/bin/xcode-select对于xcode 4.3不起作用,(它的编译使你无法真正明白为什么它不起作用)。字符串没有提供任何线索。好东西osx有strace ..哦等等。

不管怎么说,我能做的最好的是修改/opt/local/etc/macports.conf 并取消包含路径Xcode的安装就行了。这似乎解决了我的问题,大部分。

+0

OSX的好事情已经发生了。 – 2013-03-16 17:58:03

+0

所以它的确如此,感谢提示Ken! – siesta 2013-04-03 02:42:20

1

我有没有管理员/ root权限安装macports,所以我无法测试xcode选择答案。但是,我观察到颇尔迈尔斯特德的答案奏效了,但最初并没有。我发现的是,我没有接受了Xcode 4.5许可协议

如果您刚刚为macports的目的安装了Xcode,但您尚未接受Xcode许可证,则可能会收到原始帖子提供的错误。当我使用/usr/bin/xcodebuild -version检查我的Xcode版本时,我被提示阅读并接受许可证。在这样做之后,并且在将颇尔建议的更改提交到macports.confdeveloper_dir之后,现在所有的工作都已经完成。

5

sudo xcode-select -switch /Applications/Xcode.app 

我也不得不跑

sudo xcodebuild -license 

并接受许可

相关问题