2013-05-19 90 views
1

我試圖在其網站上建立和安裝libYAML按指令> http://pyyaml.org/wiki/LibYAMLCygwin的(在Windows上) - 權限被拒絕 - 不能編譯

  • 的./configure>成功
  • 使 >成功
  • make install的>失敗

我得到以下錯誤「無法創建目錄」/ usr/local/include「:權限被拒絕。」見下:

P.S.我以管理員身份運行。

[email protected] ~/yaml-0.1.4 
$ make install 
Making install in include 
make[1]: Entering directory `/home/JetBlue/yaml-0.1.4/include' 
make[2]: Entering directory `/home/JetBlue/yaml-0.1.4/include' 
make[2]: Nothing to be done for `install-exec-am'. 
test -z "/usr/local/include" || /usr/bin/mkdir -p "/usr/local/include" 
/usr/bin/mkdir: cannot create directory `/usr/local/include': Permission denied 
Makefile:235: recipe for target `install-nobase_includeHEADERS' failed 
make[2]: *** [install-nobase_includeHEADERS] Error 1 
make[2]: Leaving directory `/home/JetBlue/yaml-0.1.4/include' 
Makefile:356: recipe for target `install-am' failed 
make[1]: *** [install-am] Error 2 
make[1]: Leaving directory `/home/JetBlue/yaml-0.1.4/include' 
Makefile:343: recipe for target `install-recursive' failed 
make: *** [install-recursive] Error 1 

怎樣才能解決這個「權限被拒絕」 的錯誤

謝謝你的時間。

更新 - >解決方案

似乎繞過這個「權限被拒絕」的錯誤,你不僅需要有管理員,而且誰最初安裝了Cygwin管理員。 (他們是唯一可以在Cygwin的/ usr/local /目錄下自由編輯文件的人)。

因此我的問題。雖然我是管理員,但我仍然沒有該目錄的編輯權限。

所以......我現在只是用該帳戶開發-_-(目前太多的工作,開始與sudos等玩弄)

附:我不確定Yaakov是在說什麼......

回答

1

檢查你在/ usr/local上的權限,或者用另一個具有寫權限的--prefix重新編譯。

但是你應該知道這個庫已經在Cygwin發行版中可用;安裝libyaml-devel及其依賴項來使用它。

+0

謝謝Yaakov!我對此很新。如何按照您的建議去改變權限?另外,對於你的第二個建議,請使用--prefix請詳細說明。感謝你的寶貴時間。 –

+0

(我已經通過Cygwin發行版安裝了所有相關的libYAML文件[包括源代碼],但在嘗試安裝ruby時仍然出現以下錯誤:[看起來您的ruby安裝缺少心理(對於YAML輸出) 要消除此警告,請安裝libyaml並重新安裝紅寶石。]) –

+0

這些是您可以在別處學習的通用* NIX問題。至於你的Ruby警告,我必須猜測你正在嘗試自己構建ruby;你爲什麼不使用Cygwin發行版中的ruby包,其中_does_包含'psych'? – Yaakov

0

如果您使用選項「for all users」安裝了CygWin,則/ usr/local將成爲系統文件夾。所以普通用戶不能簡單地寫入它(通過make install)。

具有一個cycgwin殼作爲普通用戶。 有你做

的./configure

使

PWD

開始另一個cygwin外殼以管理員身份(R單擊該圖標)。 還有你cd進入你叫做make的文件夾(看它的輸出是pwd命令)。

make install的

這將有管理員權限寫入到/ usr /本地。

當然,你肯定還可以重定向與

的./configure --prefix =您的安裝目標到一個地方你的普通用戶的users_own_cygwin_installation_destination_folder

(不過後者對於初學者cygwin的幾乎總是一個壞主意 - 只有在知道自己在做什麼時才應該這樣做,尤其是採用你的環境/ PATH設置)