Skip to content
Advertisement

ROS-Indigo Collada DOM installation dependency on libpcrecpp package cannot detect installed libpcrecpp package

I am trying to build ROS (Robot Operating System) Indigo on Debian 8. I’m running Debian 8 on Oracle VirtualBox (the 64-bit PC netinst ISO, found at https://www.debian.org/distrib/).

I am following this set of instructions: http://wiki.ros.org/indigo/Installation/Debian

Performing each instruction step-by-step, a problem arises when I attempt to install collada-dom-dev.

First, when I did cmake ., it gives several warnings about missing dependencies. I install each. One of them is called libpcrecpp. I install this through APT, and its name is apparently libpcrecpp0. So I install that.

Then I execute cmake .. It still is unable to find libpcrecpp and gives the following warning:

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

I think, well let’s try installing anyway without libpcrecpp. I go ahead to do sudo checkinstall make install. However, the build fails, giving this warning:

/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

So it seems clear that the problem comes from libpcrecpp.

Thinking that they must have got the name wrong (since the package name is actually libpcrecpp0), I change the CMakeLists.txt file on line 224: pkg_check_modules(libpcrecpp libpcrecpp) to pkg_check_modules(libpcrecpp libpcrecpp0). However, it still fails to find the installed libpcrecpp0 package, and installation fails with the same error.

How do I resolve this so that I can install Collado DOM dependency for ROS-Indigo?

Advertisement

Answer

After further searching, I found that the libpcrecpp library is mis-named. The real name of the library is libpcre3-dev.

To resolve this issue, simply install that library through sudo apt-get install libpcre3-dev.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement