colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
명령어 입력 후 빌드 중에 다음과 같은 에러가 난다면,
g++: fatal error: Killed signal terminated program cc1plus compilation terminated. gmake[2]: *** [CMakeFiles/openscenario_interpreter.dir/build.make:524: CMakeFiles/openscenario_interpreter.dir/src/syntax/delete_entity_action.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... gmake[1]: *** [CMakeFiles/Makefile2:159: CMakeFiles/openscenario_interpreter.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2 --- Failed <<< openscenario_interpreter [3min 54s, exited with code 2]
build 할 때 개인 PC CPU 코어에 따라 메모리를 얼마나 사용하는지가 달라져 할당 작업 수를 제한하지 않으면 메모리가 초과되어 작업이 멈출 수 있습니다.
해결 코드 (MAKEFLAGS와 worker 플래그 추가)
MAKEFLAGS="-j4" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
-j 옵션은 빌드하는 동안 작업 수를 제한합니다.
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 2
--parallel-workers {NUMBER} 옵션으로 병렬로 빌드되는 패키지 수를 줄임으로써 사용되는 메모리 양도 줄어듭니다.
혼합해서 사용 가능
EX)
MAKEFLAGS="-j1" colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 1
d
728x90