ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to make ReIn with Ubuntu 10.10 (Maverick)?

asked 2011-03-01 03:52:00 -0500

raphael favier gravatar image

updated 2014-01-28 17:09:15 -0500

ngrennan gravatar image


the Recognition Infrastructure does not compile with Maverick (see its ROS_BUILD_BLACKLIST file). The problem is that soci.h is (strangely) not found by cmake. Is there any action going on to solve this issue at the moment?

I see some people are actively using some of the packages contained in the object_recognition stack. Could they explain how to do so using maverick?

I feel I am asking something stupid here, but I really can't figure out how to solve that cmake problem and use this stack. Any hint is welcome.

Thanks in advance


edit retag flag offensive close merge delete

5 Answers

Sort by ยป oldest newest most voted

answered 2011-03-23 01:56:20 -0500

KoenBuys gravatar image

updated 2011-03-24 07:01:17 -0500

tfoote gravatar image

Thanks to the help from Ruben, he was able to build a patch for this problem:

ticket 5069

edit flag offensive delete link more


Notice: a new patch (version 2) was submitted to be more 'clean'
KoenBuys gravatar image KoenBuys  ( 2011-03-23 22:23:53 -0500 )edit
thanks guys!
raphael favier gravatar image raphael favier  ( 2011-03-28 03:58:40 -0500 )edit

answered 2011-03-09 00:41:36 -0500

raphael favier gravatar image


thanks for the answer. As you say, the dependency is not resolved automatically. But how do you manage Cmake to stop telling you the following?

  CMake Error at CMakeLists.txt:45 (message):
    Error: cannot find SOCI header file: soci.h

Here is what I did:

  1. Installed Diamondback
  2. Checkout object_recognition stack (svn co roslocate svn object_recognition)
  3. Install soci (sudo apt-get install libsoci-core-gcc-dev)
  4. Make rein (rosmake rein)

No matter what, I always end up with cmake not finding soci.h But the weirdest is that soci.h is actually in /usr/include/soci, which is added line 36 in the directories in which cmake looks for it.

Did you follow the same procedure here? Any hint?


edit flag offensive delete link more


Open a defect ticket for that component, describing the broken dependency. The maintainer may not know about it.
joq gravatar image joq  ( 2011-03-09 01:41:24 -0500 )edit
Done: [Ticket #5069](
raphael favier gravatar image raphael favier  ( 2011-03-09 02:01:06 -0500 )edit
have you found a solution?
KoenBuys gravatar image KoenBuys  ( 2011-03-19 08:53:47 -0500 )edit
Nope, not on 10.10 unfortunately.
raphael favier gravatar image raphael favier  ( 2011-03-21 01:18:25 -0500 )edit

answered 2011-03-08 20:07:57 -0500

Stephan gravatar image

Hi Raph, I just managed to install ReIn on Maveric. I had to install libsoci manually:

sudo apt-get install libsoci-core-gcc-dev

It seems that the dependency is not resolved automatically.


edit flag offensive delete link more

answered 2011-08-25 05:28:28 -0500

NStiurca gravatar image

FWIW even though the current REIN package is deprecated and its developers are advising people not to use it, I am also seeing the problem in Ubuntu 10.04. I found another workaround that's about as dirty as KoenBuys's, but much quicker fix:

roscd rein/build && cmake .. -DHAVE_SOCI=1 && cd -

That simply sets the HAVE_SOCI variable and bypasses the if() which (erroneously) produces the fatal error.

edit flag offensive delete link more

answered 2011-03-21 21:33:16 -0500

KoenBuys gravatar image

I've got Rein to compile with the _DIRTY_ CMakelists.txt hack to comment out the check for soci (after soci was present in /usr/include/soci):

#    set (SOCI_INCLUDE_DIR /opt/ros/include/soci)
#    set (SOCI_LIB_DIR /opt/ros/lib)
#    check_include_file_cxx (soci.h HAVE_SOCI2)
#    if (NOT HAVE_SOCI2)
#        message (FATAL_ERROR "Error: cannot find SOCI header file: soci.h")
#    endif ()
#endif ()

Perhaps the Cmake logic is inverted now? I've tried the following CMake alternatives without any succes:

find_path (HAVE_SOCI /usr/include/soci/soci.h)
include (CheckIncludeFile)
check_include_files(/usr/include/soci/soci.h HAVE_SOCI)

Browsing the web found some people with similar problems but no clear solutions.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2011-03-01 03:52:00 -0500

Seen: 757 times

Last updated: Aug 25 '11