살아가는 이야기
컴파일러 개발을 위한 msys2 설치(gcc, flex, bison) 본문
지난 글에서 컴파일러 개발을 위해 MinGW를 설치하는 방법을 알아보았다. 설치 과정에서도 엿볼 수 있었지만 MinGW에도 이전 버전의 msys가 포함되어 있다. 그러나 msys를 사용하려면 아무래도 패키지 관리자 pacman이 지원되는 최신 msys2를 설치하는 것이 더 좋다. 이 글에서는 msys2를 설치하는 방법을 살펴본다.
1. msys2 다운로드
다음 페이지에서 msys2 설치 파일을 다운로드한다.
이 글을 쓰는 2021년 9월 현재, 설치 파일 이름은 msys2-x86_64-20210725.exe이다.
2. 설치 파일 실행
다운로드한 설치 파일을 더블클릭하여 프로그램 설치를 시작한다.
Next 버튼을 누르면 설치 위치를 선택하라는 창이 나타나는데, 편한 곳을 선택하자. 특별히 선호하는 곳이 없다면 기본 위치에 설치한다.
Next 버튼을 눌러 진행하면 시작 메뉴에 추가할 프로그램 그룹 이름을 입력하라는 창이 나온다.
기본으로 두고 Next 버튼을 눌러 다음으로 진행하면 설치가 시작된다.
자세한 설치 내용을 보고 싶다면 "Show Details" 버튼을 누른다. 설치가 완료되면 완료 대화창이 나타난다. 이때 기본으로 선택된 체크박스 "Run MSYS2 64bit now"를 그대로 두고 Finish 버튼을 눌러 끝낸다.
그럼 다음과 같은 터미널이 나타난다.
축하한다. 단번에 성공하였다!
위 창은 D2Coding으로 글꼴을 바꾼 화면이다. 원래 화면은 조금 글자가 작게 보이는데, 글꼴을 바꾸려면 제목표시줄의 M자 아이콘을 눌러 나타나는 창 메뉴에서 "Options..." 메뉴를 선택한다. 글꼴은 Text 섹션에서 변경할 수 있다.
인기가 있는 글꼴로는 Consolas, Courier New, Lucida Console 등이 있다.
3. pacman 업데이트 및 프로그램 설치
다른 프로그램 같으면 여기서 설치가 끝나지만 msys2는 별도의 환경을 구축하므로 추가로 설치해야 할 것이 있다. 다행스럽게도 msys2에는 pacman이라는 패키지 관리자가 있다. pacman을 이용하기 전에 다음 명령어로 pacman 데이터베이스를 업데이트한다.
pacman -Syu
그럼 설치가 진행되고 msys2를 재시작해야 한다는 메시지가 나온다.
엔터를 눌러 터미널을 끈 다음, 시작 메뉴에서 "Msys 64bit -> MSYS2 MSYS"를 선택한다.
그리고 나타난 터미널에서 다음 명령어를 입력하여 남은 업데이트를 마저 진행한다.
pacman -Su
엔터를 눌러 나머지 업데이트를 완료해도 시스템 기본 패키지만 업데이트되었을 뿐, 아직 우리가 원하는 gcc 등 개발 프로그램은 설치되지 않았다.
그러므로 다음과 같이 pacman 명령어로 gcc 등 필요한 패키지를 설치한다.
pacman -S gcc
컴파일러 개발에 필요한 패키지로는 flex와 bison이 있다. flex와 bison도 마찬가지 방법으로 설치한다.
pacman -S flex
pacman -S bison
설치 후에는 which gcc 등의 명령어로 설치 여부를 확인할 수 있다.
4. gcc 설치 테스트
gcc 설치가 완료되면 다음과 같이 gcc 설치 상태를 테스트해 본다.
위와 같이 cat 명령을 사용하여 프로그램을 입력했다면, 이를 저장하고 파일을 만들기 위해서 마지막에 Ctrl+D를 눌러야 한다. Windows 명령 프롬프트에서는 Ctrl+Z로 EOF(end-of-file)를 나타냈지만 msys2에서는 여느 유닉스 시스템과 마찬가지로 Ctrl+D로 EOF를 나타낸다.
비록 cat으로 파일을 만들어 테스트하였지만, 프로그래밍에서 실제로 이 방법을 사용하는 사람은 없다. 자유롭게 프로그램을 작성하려면 편집기를 설치해야 한다. vim, nano 등 자신이 원하는 편집기를 설치하자.
pacman -S vim
pacman -S nano
편집기 vim은 익숙해지는 데 조금 시간이 걸리지만 사용할 만한 가치가 있는 프로그램이다. 다음은 vim으로 앞서 작성한 hello.c 프로그램 내용을 확인한 화면이다.
끝내려면 ZZ를 입력한다.
당장 vim을 시작하기 어렵다면 nano를 사용해 보자. 화살표로 원하는 위치에 이동한 후 입력하면 되므로 쉽게 사용할 수 있다.
nano를 끝내려면 아래 메뉴에 있는 대로 Ctrl+X를 누르면 된다. nano에서는 항상 아래에 메뉴가 나타나는데, 메뉴에서 캐럿(^)은 Ctrl 키를 나타낸다.
5. HOME 변수 변경
필수적인 과정은 아니지만 Windows에서 환경변수 HOME을 설정하는 것이 편리하다. msys2를 설치하면 기본 HOME 폴더는 다음과 같이 설정된다.
C:\msys64\home\계정명
여기서 계정명은 자신의 Windows 계정 이름을 뜻한다.
그런데 Windows와의 파일 공유를 위해서는 아무래도 Windows의 사용자(Users) 폴더나 다른 위치를 설정하는 것이 좋다. 예컨대 다음 위치로 설정할 수 있다.
C:\Users\계정명
설정하는 방법은 Win+R 키를 누르고 다음 명령어를 입력한 다음, 환경변수 버튼을 눌러 시스템 변수 섹션의 HOME 변수를 더블클릭한 후 디렉토리 경로명을 변경하면 된다.
sysdm.cpl ,3
드디어 Windows라는 동굴 내에 msys2라는 작은 집을 지었다. 새로운 세계로 들어온 것을 환영한다!