2013-05-19 4 views
1
나는 자신의 웹 사이트에 대한 지침에 따라 libYAML을 구축하고 설치하려고

를 컴파일 할 수 없습니다 것은> http://pyyaml.org/wiki/LibYAMLCygwin에서 - 권한이 거부 -

  • ./configure를> 성공
  • 을 > 성공
  • 메이크업 설치은>
012,351,641 실패

다음과 같은 오류가 나타납니다. "/ usr/local/include 디렉토리를 만들 수 없습니다 : 권한이 거부되었습니다." 아래 참조 :

P. 관리자로 실행 중입니다. 하나의 해결이 오류를 "권한 거부"않습니다 어떻게

[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/디렉토리에있는 파일을 자유롭게 편집 할 수있는 유일한 사람입니다).

내 문제. 제가 관리자 였지만 여전히 디렉토리에 대한 편집 권한이 없습니다.

그래서 ... 지금은 단지

P.S. (sudos 등으로 장난 시작하는 순간에 너무 많은 일을) -_- 개발하기 위해 해당 계정을 사용하고 있습니다 Yaakov가 말하는 것인지 확실하지 않습니다 ...

답변

1

/usr/local에서 사용 권한을 확인하거나 쓰기 권한이있는 다른 --prefix로 다시 컴파일하십시오.

하지만이 라이브러리는 이미 Cygwin 배포판에서 사용할 수 있습니다. libyaml-devel 및 의존성을 설치하여 사용하십시오.

+0

감사합니다. Yaakov! 나는 이것에 아주 새롭다. 제안한대로 권한을 변경하는 방법은 무엇입니까? 또한, 두 번째 제안에 --prefix를 사용하려면 정교하게 작성하십시오. 시간 내 주셔서 다시 한번 감사드립니다. –

+0

(Cygwin 배포판을 통해 관련된 모든 libYAML 파일을 설치했지만, 루비를 설치하려고 할 때 여전히 다음과 같은 오류가 발생합니다 : [ruby 설치시 psych (YAML 출력)이 없음) 이 경고를 제거하려면, libyaml을 설치하고 루비를 다시 설치하십시오.]) –

+0

이들은 당신이 다른 곳에서 배울 수도 있고 배워야하는 일반적인 * NIX 질문입니다. 귀하의 루비 경고에 관해서는, 당신이 루비를 직접 만들려고 노력하고 있다는 것을 알아야합니다. Cygwin 배포본에서 루비 패키지를 사용하지 않는 이유는 무엇입니까? – Yaakov

0

"모든 사용자 용"옵션으로 Cygwin을 설치 한 경우/usr/local은 시스템 폴더가됩니다. 따라서 일반 사용자는 (make install을 통해) 간단히 쓸 수 없습니다.

솔루션 :

가 일반 사용자로 한 cycgwin 쉘을 가지고있다. 이 당신

./configure를

PWD

시작 (아이콘을 rclick) 관리자로 다른 Cygwin에서 쉘을 다하겠습니다. 거기에 cd라는 폴더를 만들었습니다 (출력은 pwd 명령을 참조하십시오).

메이크업 설치

이/usr/지방에 쓸 수있는 관리자 권한이 있어야합니다. 물론

당신은 확실히 또한

users_own_cygwin_installation_destination_folder

./configure를 --prefix = 사용하여 일반 사용자의 장소에 목표를 설치하여 리디렉션 할 수 있습니다 (그러나 후자는 Cygwin에서 초보자를위한 거의 항상 나쁜 생각 - 당신이 무엇을하고 있는지, 특히 환경/PATH 설정을 채택하고 있다면 이것을해야합니다.

관련 문제