임베디드 | 라즈베리파이 | ARM | 리눅스 | Qt | 딥러닝

○ 소스 변경 있을 경우 리빌드

cd ~/ros2_kilted
$ mv -i ros2.repos ros2.repos.old
$ wget https://raw.githubusercontent.com/ros2/ros2/kilted/ros2.repos

여기서 ~/ros2_kilted 폴더를 만들어야한다.

mkdir ros2_kilted

mkdir ros2_kilted/src  // src 폴더도 만들어야 한다.

 

1-2. 소스 checkout 유지 링크

저장소 업데이트

vcs custom --args remote update

 

새로운 소스 코드 다운로드

vcs import src < ros2.repos
$ vcs pull src

 

 

workspace 리빌드

colcon build --symlink-install

 

리빌드시 에러 해결 

iceoryx/iceoryx/iceoryx_hoofs/platform/linux/include/iceoryx_hoofs/platform/acl.hpp:20:10: fatal error: sys/acl.h: No such file or directory  에러 발생시 

> sudo apt install -y libacl1-dev 설치  에러 해결

 

--- stderr: fastdds                                                           
CMake Error at cmake/modules/FindAsio.cmake:26 (message):
  Not found a local version of Asio installed.
Call Stack (most recent call first):
  cmake/common/eprosima_libraries.cmake:207 (find_package)
  CMakeLists.txt:258 (eprosima_find_thirdparty)

> sudo apt install -y libasio-dev 설치 

 

/bin/sh: 1: cargo: not found

> curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

> source $HOME/.cargo/env 

> cargo --version

 

thread 'main' panicked at .../cbindgen_generator.rs:740:28:
no signatures found for building generic z_take_from_loaned 에러
1. 최신버전 rust설치

rustup update

rustc --version

 

2. cbindgen 설치 또는 업데이트 

cargo install --force cbindgen

export PATH="$HOME/.cargo/bin:$PATH"

 

3. 깨진 종속성 정리

colcon build --packages-select zenoh_cpp_vendor --cmake-clean-cache

 

4. RUST_BACKTRACE=1로 에러 추적

RUST_BACKTRACE=1 colcon build --packages-select zenoh_cpp_vendor

1~4번까지 해도 에러가 해결되지 않는다.

그래서 ~/ros2_kilted 폴더 삭제후 다시 소스코드 다운로드 받고 재시작 

 

 

Could not find a package configuration file provided by "nlohmann_json"

이런 에러 발생
>sudo apt update
>sudo apt install -y nlohmann-json3-dev

 

The following required packages were not found:

 - lttng-ctl

> sudo apt install -y liblttng-ctl-dev

 

 

 

전체 워크스페이스 빌드

> colcon build --symlink-install

FastDDS만 빌드

> colcon build --symlink-install --packages-select fastdds

성공한 패키지만 스킵

> colcon build --symlink-install --packages-skip-build-finished

 

 성공한 패키지 스킵하고 실패/변경 패키지만 빌드

> colcon build --symlink-install --continue-on-error --packages-skip-built

 

  • --packages-skip-built: 이미 빌드 성공한 패키지는 스킵
  • --continue-on-error: 하나 실패해도 계속 빌드 진행

 

완전 새롭게 빌드

> colcon build --symlink-install --cmake-clean-cache


colcon 명령어 list check 

> colcon list --help | grep skip-built

 

Ros2.repos 확인하기

https://raw.githubusercontent.com/ros2/ros2/kilted/ros2.repos

 

 

cd ~/ros2_kilted
$ vcs export src > my_ros2.repos

작업 공간 저장소 세트 버전 저장 - 공유가능

 

 

■ 기타명령어
vcs 툴 버전확인

apt show python3-vcstool

apt policy python3-vcstool

최신버전 업그레이드 [ 시스템 패키지로 설치했을 경우 ] 

sudo apt install --only-upgrade python3-vcstool