부제: '개발자를 확인할 수 없기 때문에 파일을 열 수 없습니다' 및 'invalid value 'ada' in '-x ada' 에러 해결
에러 내용 error: invalid value 'ada' in '-x ada' 요걸 만들어내는 원인이기도 한 에이다 컴파일러 gnat의 미설치.
MAC OS에서 GNAT를 설치하는 법 부터 에이다 파일을 실행시키는 것까지의 과정을 기록해둔 글입니다.
우분투 말고 mac 오에스에서의 한국어 자료가 너무 부족해서 많이 힘들었기에 이렇게 기록을 남깁니다ㅠ
환경 : MacBook Air M1 칩셋
1. https://www.adacore.com/download/more 접속
2. MAC OS X 클릭
해당 파일은 GNAT를 컴파일하기 위해 사용됨.
3. dmg 파일 다운로드.
4. 다운로드 완료 되면 dmg 파일 더블 클릭 -> 알아서 뭔가 실행 됨
5. 아래 이미지의 아이콘 더블클릭을 하면
이렇게 '개발자를 확인할 수 없기 때문에 파일을 열 수 없습니다' 라는 에러가 나온다.
이 에러를 해결해보자
6. '시스템 환경 설정' > '보안 및 개인 정보 보호' 에 가면 방금 전에 나왔던 에러가 창 제일 아래에 나와 있는 것을 볼 수 있다.
여기서 '확인 없이 열기' 버튼 클릭
7. 아까는 없었던 '확인' 버튼이 생긴다. 확인 버튼 클릭
8.아래 사진과 같이 프로그램이 실행된다. 쭉 'next'를 클릭하고 마지막에 'install' 을 클릭한다.
9. 터미널에 다음과 같이 아래 코드를 작성한다. (VS Code가 깔려 있어야 함)
$ code .bash_profile
만약 터미널의 현재 디렉토리가 Users/컴퓨터유저네임/ 이 아니라면, 해당 디렉토리로 이동 후 위 코드를 작성한다.
별견 아니고 저 '.bash_profile' 내부 코드를 변경 해야하는데 제가 터미널에서 그걸 어떻게 하는지 몰라서 ...^^
VS Code로 열어서 수정 해줄겁니다
이렇게 VS Code가 실행된다.
10. 아래 코드를 추가한 후 파일을 저장한다.
PATH=${PATH}:~/opt/GNAT/2020/bin:$PATH
여기까지
여기 두 과정이 제가 삽질하게 된 시작점? 이었습니다
이렇게 하지 마시고 아래 방법을 따라해주세요!!
9. 터미널에 다음과 같이 코드 작성
open .bash_profile
그러면 터미널 위에 텍스트 입력 프로그램? 이 뜹니다.
10. .bash_profile 파일 내부에 아래 코드 작성 후 'cmd+S' 한 후 창을 닫음
11. 터미널에 다음과 같이 코드 작성
source .bash_profile
12. 확인을 위해 터미널에 아래 코드 작성(필수 과정은 아닙니다)
echo $PATH
그러면 좀 길게 텍스트가 나오는데, 다른 곳에 복붙 해서 gnat가 있는지 확인을 해보세요 ...
없으면 되게 수정....
여기서 애먹었습니다...
저는 이런식으로 나왔는데 처음에는 해도 Users/yejinkim/yejinkim/opt/gnat/bin 이렇게 되어 있어서 적용이 안됐습니다.
.bash_profile 에 각자 gnat/bin 파일 경로 잘 찾으셔서 작성 후 커맨드 에스, source .bash_profile 하시면 됩니다.
13. 잘 실행 됐는지 확인해보기 위해 터미널에 gnat 혹은 gnatmake를 입력
이렇게 실행할 수 있는 명령어 리스트가 뜨면 잘 실행 되는겁니다!
반면 실행되지 않을 땐 'gnat 명령어를 찾을 수 없습니다' 이런 식으로 떠요...
그럴땐 다시 한번 내 컴퓨터에 설치된 '~~~ GNAT/bin' 경로를 확인하시고, 이 경로를 .bash_profile 파일에 제대로 작성을 했는지 다시 한번 확인해보세요!!!!
컴파일 하기!
13. 에이다 파일 (.adb)이 있는 경로로 가서 아래와 같이 코드를 입력
gnatmake 파일명.adb
조금 기다리면, 이렇게 화면에 .adb, .ali, .ali 확장자로 끝나는 세줄이 출력됩니다.
14. 터미널에 아래 코드를 입력해서 exe파일 실행시키기
./파일명
직전 과정을 실행하면 컴파일러가 실행 가능한 exe파일을 만들어줍니다.
따라서 'ls'를 입력하면 확장자가 붙어있지 않은(것 처럼 보이는) '파일명' 파일이 '파일명.ali' 파일과 함께 존재할 겁니다.
성공적으로 출력 완료 ㅠㅜㅠ
한글 자료 찾기 너무 힘들어서 막막했는데 해냈습니다ㅠㅠㅜ
저는 환경변수 경로 설정하는 부분에서 많이 애먹었네요 ....
참고
https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/getting_started_with_gnat.html
https://stackoverflow.com/questions/19718551/ada-compiler-gnat-on-mac-os?noredirect=1&lq=1