2012-02-17 95 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 

並接受許可