Microsoft MVP성태의 닷넷 이야기
VC++: 53. Windows 7에서 gcc.exe 실행 시 Access denied 오류 [링크 복사], [링크+제목 복사],
조회: 29828
글쓴 사람
정성태 (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에서만 동작되는 링크 파일인 것이죠.
정성태

... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12325정성태9/12/202018762개발 환경 구성: 515. OpenVPN - 재부팅 후 ICS(Internet Connection Sharing) 기능이 동작 안하는 문제
12324정성태9/11/202019242개발 환경 구성: 514. smigdeploy.exe를 이용한 Windows Server 2016에서 2019로 마이그레이션 방법
12323정성태9/11/202019509오류 유형: 649. Copy Database Wizard - The job failed. Check the event log on the destination server for details.
12322정성태9/11/202023490개발 환경 구성: 513. Azure VM의 RDP 접속 위치 제한 [1]
12321정성태9/11/202017915오류 유형: 648. netsh http add urlacl - Error: 183 Cannot create a file when that file already exists.
12320정성태9/11/202021150개발 환경 구성: 512. RDP(원격 데스크톱) 접속 시 비밀 번호를 한 번 더 입력해야 하는 경우
12319정성태9/10/202019449오류 유형: 647. smigdeploy.exe를 Windows Server 2016에서 실행할 때 .NET Framework 미설치 오류 발생
12318정성태9/9/202018017오류 유형: 646. OpenVPN - "TAP-Windows Adapter V9" 어댑터의 "Network cable unplugged" 현상
12317정성태9/9/202022641개발 환경 구성: 511. Beats용 Kibana 기본 대시 보드 구성 방법
12316정성태9/8/202020159디버깅 기술: 170. WinDbg Preview 버전부터 닷넷 코어 3.0 이후의 메모리 덤프에 대해 sos.dll 자동 로드
12315정성태9/7/202022451개발 환경 구성: 510. Logstash - FileBeat을 이용한 IIS 로그 처리 [2]
12314정성태9/7/202022857오류 유형: 645. IIS HTTPERR - Timer_MinBytesPerSecond, Timer_ConnectionIdle 로그
12313정성태9/6/202022569개발 환경 구성: 509. Logstash - 사용자 정의 grok 패턴 추가를 이용한 IIS 로그 처리
12312정성태9/5/202029685개발 환경 구성: 508. Logstash 기본 사용법 [2]
12311정성태9/4/202022383.NET Framework: 937. C# - 간단하게 만들어 보는 리눅스의 nc(netcat), json_pp 프로그램 [1]
12310정성태9/3/202021284오류 유형: 644. Windows could not start the Elasticsearch 7.9.0 (elasticsearch-service-x64) service on Local Computer.
12309정성태9/3/202019329개발 환경 구성: 507. Elasticsearch 6.6부터 기본 추가된 한글 형태소 분석기 노리(nori) 사용법
12308정성태9/2/202022704개발 환경 구성: 506. Windows - 단일 머신에서 단일 바이너리로 여러 개의 ElasticSearch 노드를 실행하는 방법
12307정성태9/2/202023770오류 유형: 643. curl - json_parse_exception / Invalid UTF-8 start byte
12306정성태9/1/202019408오류 유형: 642. SQL Server 시작 오류 - error code 10013
12305정성태9/1/202022772Windows: 172. "Administered port exclusions"이 아닌 포트 범위 항목을 삭제하는 방법
12304정성태8/31/202020772개발 환경 구성: 505. 윈도우 - (네트워크 어댑터의 우선순위로 인한) 열거되는 IP 주소 순서를 조정하는 방법
12303정성태8/30/202021405개발 환경 구성: 504. ETW - 닷넷 프레임워크 기반의 응용 프로그램을 위한 명령행 도구 etrace 소개
12302정성태8/30/202021428.NET Framework: 936. C# - ETW 관련 Win32 API 사용 예제 코드 (5) - Private Logger파일 다운로드1
12301정성태8/30/202019623오류 유형: 641. error MSB4044: The "Fody.WeavingTask" task was not given a value for the required parameter "IntermediateDir".
12300정성태8/29/202021241.NET Framework: 935. C# - ETW 관련 Win32 API 사용 예제 코드 (4) CLR ETW Consumer파일 다운로드1
... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...