rosdep 을 이용한 의존성 패키지 추가 및 설치 방법 - githeim/windheim_archive GitHub Wiki

rosdep은 ros에서 필요한 system pkg를 설치할 수 있도록 도와준다.

예컨대 어떤 패키지가 liblcm-dev를 사용해야한다.

이 패키지는 apt-get install liblcm-dev 설치가 선행되어야 한다.

이 경우 pkg에서 rosdep 의존성을 지정할 수 있고, rosdep 명령을 통해 설치할 수 있 다.

해당 패키지의 package.xml에
<build_depend>liblcm-dev</build_depend>
tag 추가하면

rosdep init을 한 적이 없다면

$ sudo rosdep init

rosdep 업데이트

$ rosdep update

패키지 설치

$ rosdep install --from-paths --ignore-src -y ./<해당패키지 directory path>
executing command [sudo -H apt-get install -y liblcm-dev]
                                                                                                                                             
[sudo] ubuntu의 암호:                                                                                                                        
패키지 목록을 읽는 중입니다... 완료                                                                                                          
의존성 트리를 만드는 중입니다                                                                                                                
상태 정보를 읽는 중입니다... 완료                                                                                                            
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:                                                                               
  libc-ares2                                                                                                                                 
  'sudo apt autoremove'를 이용하여 제거하십시오.                                                                                             
  다음의 추가 패키지가 설치될 것입니다 :                                                                                                     
    liblcm-bin liblcm1                                                                                                                       
    다음 *새로운* 패키지들을 설치:                                                                                                           
      liblcm-bin liblcm-dev liblcm1                                                                                                          

위와 같이 의존성 있는 패키지들을 추가하여 설치한다.

위의
<build_depend>liblcm-dev</build_depend>
tag만을 추가하여 의존성 시스템 패키지를 설치할 수 있는데, 이것은

https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml                                                                                

base.yaml 파일을 기준으로 이루어진다.

설치하고자 하는 시스템 패키지가 해당 목록에 없다면(보통 대부분의 robotics에 필요한 패키지들 설치 방법이 명시되어 있다), 로컬에 있는
/etc/ros/rosdep/sources.list.d
파일을 편집하여 추가하여야 한다.