워크스페이스 루트에서 colcon build
패키지 폴더 안에 들어가서 빌드하면 안 될까?
colcon
src의 패키지를 한꺼번에 빌드합니다
colcon은 빌드 도구입니다. src 아래 모든 패키지의 package.xml을 읽고, build_type에 맞는 방법으로 빌드합니다. 다른 패키지를 가져다 쓰는 패키지는, 가져다 쓰는 대상을 먼저 빌드한 뒤에 빌드합니다.
패키지 이름은 예시입니다. colcon은 2강 2편에서 깐 ros-dev-tools에 들어 있습니다.
치는 자리
워크스페이스 루트에서 칩니다
colcon은 명령을 친 폴더 아래에서 패키지를 찾아 빌드하고, build, install, log를 바로 그 자리에 만듭니다. 그래서 꼭 워크스페이스 루트인 ~/ros2_ws에서 칩니다.
따라 하기
루트로 가서 colcon build
cd ~/ros2_ws로 루트에 간 뒤 colcon build를 칩니다. Summary 줄에 finished가 보이면 빌드된 것입니다. ls로 보면 1편에서 본 네 폴더가 모두 생겼습니다.
걸린 시간은 컴퓨터마다 다릅니다. 출력에 --- stderr 경고가 섞여도 Summary가 finished면 성공입니다. 실패하면 Failed가 보이고 기록은 log에 남습니다.
잘못 친 경우
src에서 치면 엉뚱한 곳에 생깁니다
src에서 colcon build를 치면 src 안에 build, install, log가 생깁니다. 그러면 7편에서 source 할 install이 어느 것인지 헷갈립니다. 잘못 생긴 셋은 지우고 루트에서 다시 빌드합니다.
골라서 빌드
하나만 다시 빌드할 수도 있습니다
패키지가 많아지면 전부 빌드하는 데 오래 걸립니다. colcon build --packages-select my_package는 그 패키지 하나만 빌드합니다. --packages-up-to는 그 패키지가 가져다 쓰는 패키지까지 함께 빌드합니다.
이 옵션도 워크스페이스 루트에서 칩니다.
빌드가 하는 일
src의 코드를 install로 옮겨 놓습니다
파이썬은 컴파일하지 않지만, 빌드는 코드를 install 안에 설치합니다. 기본 빌드는 원본을 복사해 둡니다. 실행되는 것은 이 사본입니다.
python3.12는 Ubuntu 24.04의 파이썬 버전입니다. 이 복사 때문에 생기는 일은 8편에서 봅니다.
다음 편