新聞中心

ROS在ARM上的編譯

作者: 時(shí)間:2013-12-04 來源:網(wǎng)絡(luò) 收藏

  3、源碼

  按照教程上說的進(jìn)行依賴包的安裝:

  rosdep install --from-paths src --ignore-src --rosdistro groovy -y

  然后應(yīng)該還需要安裝cmake(我之前就已經(jīng)安裝好了,不知道是不是應(yīng)該在這一步)。我是從官網(wǎng)下載的源碼(http://www.cmake.org/),然后在arm上的。安裝方法參考鏈接(http://hi.baidu.com/phpbooker/item/38ca262ed599d10c73863e05),arm上太慢了,用了將近一個(gè)小時(shí),不知道可不可以在PC上交叉編譯,不做深究了。

  接下來就是最重要的過程了——編譯。這個(gè)過程是痛苦而漫長(zhǎng)的,arm板的主頻慢,編譯一次代碼需要20分鐘左右,而且每次出錯(cuò)總是在編譯了好長(zhǎng)時(shí)間之后,各種依賴的包需要安裝。如果現(xiàn)在進(jìn)行編譯,肯定會(huì)出現(xiàn)一大堆錯(cuò)誤,可以根據(jù)這些錯(cuò)誤進(jìn)行一步步的處理,基本都是所依賴的包沒有安裝。其中最重要的就是boost庫(kù)的包。因?yàn)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/ROS">ROS中很多的代碼是使用C++寫的,都使用了boost靜態(tài)庫(kù),所以必須在arm中的ubuntu系統(tǒng)中安裝boost庫(kù)。boost庫(kù)是我糾結(jié)時(shí)間最長(zhǎng)的一個(gè)問題,我使用了各種各樣的方法進(jìn)行安裝:

  (1)直接apt-get安裝

  (2)下載源碼在PC機(jī)上交叉編譯然后放到arm中

  (3)直接下載官方針對(duì)arm架構(gòu)已經(jīng)編譯好的deb包進(jìn)行安裝(https://launchpad.net/ubuntu/+source/boost1.46/1.46.1-7ubuntu3/+build/3060825)

  至于boost庫(kù)的版本,我也嘗試過很多,從1.40到1.52,最后還是第三種方法靠譜,前兩種方法安裝完成后在編譯過程中總是會(huì)報(bào)錯(cuò)說找不到boost中的某個(gè)庫(kù)。打開上面的鏈接,會(huì)有一個(gè)boost庫(kù)的列表:

ROS在ARM上的編譯

  我是把上面的包全部一個(gè)一個(gè)下載安裝了,基本也是相互依賴的。安裝過程中可能還是會(huì)有一些其他依賴的包,都可一使用pip或者easy_install進(jìn)行安裝。

  到現(xiàn)在為止,終于可以開始編譯、安裝了:

  ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/groovy

  如果一切正常,而是分鐘后就匯編一安裝結(jié)束了。

  添加環(huán)境路徑:

  source /opt/ros/groovy/setup.bash

  echo "export _PACKAGE_PATH=~/ros_workspace:$_PACKAGE_PATH" >> ~/.bashrc

  echo "export ROS_WORKSPACE=~/ros_workspace" >> ~/.bashrc

  . ~/.bashrc

  終于安裝完成了,在終端中輸入“roscore”,看一下是否正常運(yùn)行了。在這一步,我這里出現(xiàn)了一個(gè)錯(cuò)誤:

  what(): locale::facet::_S_create_c_locale name not valid

  后來使用google解決了(http://cruisever.blog.163.com/blog/static/786117572010817112310741/),加入:

  export LC_ALL="C"

  終于可以正常運(yùn)行了。進(jìn)行了簡(jiǎn)單的talker和listener的測(cè)試,一切正常,雖然運(yùn)行著實(shí)有點(diǎn)慢,但是初步移植應(yīng)該完成了,后面應(yīng)該還有更多問題等著我的。

c++相關(guān)文章:c++教程



上一頁 1 2 下一頁

關(guān)鍵詞: ROS ARM 編譯

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉