2017-05-26 51 views
0

我想在Debian 8上構建ROS(機器人操作系統)Indigo。我在Oracle VirtualBox上運行Debian 8(64位PC netinst ISO,發現於https://www.debian.org/distrib/)。ROS-Indigo Collada安裝依賴於libpcrecpp包的DOM無法檢測到已安裝的libpcrecpp包

我這個指令集如下:http://wiki.ros.org/indigo/Installation/Debian

執行每條指令一步一步的,當我嘗試安裝collada-dom-dev出現問題。

首先,當我做了cmake .時,它給出了關於缺失依賴關係的幾個警告。我安裝每個。其中一個叫libpcrecpp。我通過APT安裝它,它的名字顯然是libpcrecpp0。所以我安裝它。

然後我執行cmake .。它仍然無法找到libpcrecpp並給出了以下警告:

-- checking for module 'libpcrecpp' 
-- package 'libpcrecpp' not found 
-- System pcre not found, using local from sources 

我想,好吧,讓我們嘗試不libpcrecpp反正安裝。我繼續做sudo checkinstall make install。但是,構建失敗,給出此警告:

/usr/bin/ld: external-libs/pcre-8.02/libpcre_local.a(pcre_compile.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC 
external-libs/pcre-8.02/libpcre_local.a: error adding symbols: Bad value 
collect2: error: ld returned 1 exit status 
dom/CMakeFiles/collada-dom.dir/build.make:893: recipe for target 'dom/libcollada-dom2.4-dp.so.2.4.0' failed 

因此,似乎很清楚,問題來自libpcrecpp。

由於認爲它們的名稱必須錯誤(因爲軟件包名稱實際上是libpcrecpp0),所以我將第224行上的CMakeLists.txt文件更改爲pkg_check_modules(libpcrecpp libpcrecpp)pkg_check_modules(libpcrecpp libpcrecpp0)。但是,它仍然無法找到已安裝的libpcrecpp0軟件包,並且安裝失敗並出現相同的錯誤。

如何解決這個問題,以便我可以安裝ROS-Indigo的Collado DOM依賴項?

回答

0

經過進一步搜索,我發現libpcrecpp庫是錯誤的。圖書館的真實姓名是libpcre3-dev

要解決此問題,只需通過sudo apt-get install libpcre3-dev安裝該庫。