Microsoft MVP성태의 닷넷 이야기
VC++: 53. Windows 7에서 gcc.exe 실행 시 Access denied 오류 [링크 복사], [링크+제목 복사],
조회: 27034
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Windows 7에서 gcc.exe 실행 시 Access denied 오류

미리 말씀드리면, 저는 cygwin이나 gcc에 대한 경험이 거의 없습니다. 단지, 필요할 때 책에 소개된 대로 따라하는 정도의 감각만 가지고 있다고 해야겠지요. ^^

마침, cygwin을 구성하고 gcc를 실행해 볼 일이 생겼는데, 명령행에서 다음과 같은 오류만 발생했습니다.

E:\OS\dev\cygwin\bin>gcc
Access is denied.

검색을 해보니, 다음과 같은 글이 나옵니다.

GCC - Access denied
; http://omgili.com/mailinglist/cygwin/cygwin/com/m2t961f6df41004191807y75bc02cfiabd7f684a8d5f8camailgmailcom.html

아하... symbolic link로 연결된 파일이라고 하는군요. 저도 직접 해보니 동일하게 gcc-4.exe로 연결된 것을 확인할 수 있었습니다.

E:\OS\dev\cygwin\bin>file gcc2.exe
gcc2.exe: symbolic link to `/etc/alternatives/gcc'

E:\OS\dev\cygwin\bin>file /etc/alternatives/gcc
/etc/alternatives/gcc: symbolic link to `/usr/bin/gcc-4.exe'

실제로 hexa 에디터로 보니까, gcc.exe는 다음과 같이 껍데기에 불과하더군요.

gcc_access_denied_1.png

음... 그냥 gcc-4.exe로 실행해야 되는 걸까요?

아닙니다. 윈도우에서도 동일하게 ^^ symbolic link로 만들면 됩니다. (만약을 대비해서) 기존의 gcc.exe를 gcc2.exe로 이름 변경하고 다음과 같이 mklink를 이용해서 symbolic link를 생성해 줄 수 있습니다.

E:\OS\dev\cygwin\bin>mklink gcc.exe gcc-4.exe
symbolic link created for gcc.exe <<===>> gcc-4.exe

이렇게 하고 나면, 윈도우 명령행에서도 gcc.exe가 잘 실행이 되고, Cygwin bash shell에서도 정상적으로 실행이 됩니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/3/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2011-07-14 06시06분
[민광] 심볼릭링크 파일의 권한설정만 바꿔주면 되지 않을까요? 윈도도 비스타 이후부터는 권한 관리가 엄격해 진것 같더군요.
[guest]
2011-07-14 06시21분
그렇지도 않은 것이, 권한 설정은 별다르게 문제가 없었습니다. 심지어 local admin 권한으로 한 경우에도 실행이 안되었고. 아마도 이해가 되는 것이, 위의 hexa 에디터로 본 화면에서도 나오지만, 윈도우의 file symbolic link가 그런식으로 구현되어 있지는 않기 때문일 것입니다. 즉, cygwin내의 bash shell에서만 동작되는 링크 파일인 것이죠.
정성태

... 121  122  123  124  125  126  127  128  129  130  [131]  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
1780정성태10/15/201424179오류 유형: 249. The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
1779정성태10/15/201419712오류 유형: 248. Active Directory에서 OU가 지워지지 않는 경우
1778정성태10/10/201418158오류 유형: 247. The Netlogon service could not create server share C:\Windows\SYSVOL\sysvol\[도메인명]\SCRIPTS.
1777정성태10/10/201421267오류 유형: 246. The processing of Group Policy failed. Windows attempted to read the file \\[도메인]\sysvol\[도메인]\Policies\{...GUID...}\gpt.ini
1776정성태10/10/201418308오류 유형: 245. 이벤트 로그 - Name resolution for the name _ldap._tcp.dc._msdcs.[도메인명]. timed out after none of the configured DNS servers responded.
1775정성태10/9/201419433오류 유형: 244. Visual Studio 디버깅 (2) - Unable to break execution. This process is not currently executing the type of code that you selected to debug.
1774정성태10/9/201426627개발 환경 구성: 246. IIS 작업자 프로세스의 20분 자동 재생(Recycle)을 끄는 방법
1773정성태10/8/201429782.NET Framework: 471. 웹 브라우저로 다운로드가 되는 파일을 왜 C# 코드로 하면 안되는 걸까요? [1]
1772정성태10/3/201418571.NET Framework: 470. C# 3.0의 기본 인자(default parameter)가 .NET 1.1/2.0에서도 실행될까? [3]
1771정성태10/2/201428085개발 환경 구성: 245. 실행된 프로세스(EXE)의 명령행 인자를 확인하고 싶다면 - Sysmon [4]
1770정성태10/2/201421691개발 환경 구성: 244. 매크로 정의를 이용해 파일 하나로 C++과 C#에서 공유하는 방법 [1]파일 다운로드1
1769정성태10/1/201424113개발 환경 구성: 243. Scala 개발 환경 구성(JVM, 닷넷) [1]
1768정성태10/1/201419534개발 환경 구성: 242. 배치 파일에서 Thread.Sleep 효과를 주는 방법 [5]
1767정성태10/1/201424632VS.NET IDE: 94. Visual Studio 2012/2013에서의 매크로 구현 - Visual Commander [2]
1766정성태10/1/201422490개발 환경 구성: 241. 책 "프로그래밍 클로저: Lisp"을 읽고 나서. [1]
1765정성태9/30/201426055.NET Framework: 469. Unity3d에서 transform을 변수에 할당해 사용하는 특별한 이유가 있을까요?
1764정성태9/30/201422290오류 유형: 243. 파일 삭제가 안 되는 경우 - The action can't be comleted because the file is open in System
1763정성태9/30/201423861.NET Framework: 468. PDB 파일을 연동해 소스 코드 라인 정보를 알아내는 방법파일 다운로드1
1762정성태9/30/201424552.NET Framework: 467. 닷넷에서 EIP/RIP 레지스터 값을 구하는 방법 [1]파일 다운로드1
1761정성태9/29/201421579.NET Framework: 466. 윈도우 운영체제의 보안 그룹 이름 및 설명 문자열을 바꾸는 방법파일 다운로드1
1760정성태9/28/201419847.NET Framework: 465. ICorProfilerInfo::GetILToNativeMapping 메서드가 0x80131358을 반환하는 경우
1759정성태9/27/201430979개발 환경 구성: 240. Visual C++ / x64 환경에서 inline-assembly를 매크로 어셈블리로 대체하는 방법파일 다운로드1
1758정성태9/23/201437885개발 환경 구성: 239. 원격 데스크톱 접속(RDP)을 기존의 콘솔 모드처럼 사용하는 방법 [1]
1757정성태9/23/201418415오류 유형: 242. Lync로 모임 참여 시 소리만 들리지 않는 경우 - 두 번째 이야기
1756정성태9/23/201427416기타: 48. NVidia 제품의 과다한 디스크 사용 [2]
1755정성태9/22/201434203오류 유형: 241. Unity Web Player를 설치해도 여전히 설치하라는 화면이 나오는 경우 [4]
... 121  122  123  124  125  126  127  128  129  130  [131]  132  133  134  135  ...