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

Boost 1.54/libicu 51.2 conflict with pluginlib?

asked 2013-07-15 08:22:14 -0600

teddybouch gravatar image

I am trying to get ROS and the MoveIt package installed on openSUSE 12.3, and currently my problem seems to be related to a conflict with some of the dependencies, which cannot be resolved automatically with rosdep on openSUSE. This is my most recent error message:

==> Processing catkin package: 'pluginlib'
==> Building with env: '/opt/ros/groovy/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/abouchard/ros_catkin_ws/build_isolated/pluginlib'
==> make -j2 -l2 in '/home/abouchard/ros_catkin_ws/build_isolated/pluginlib'
Linking CXX executable /home/abouchard/ros_catkin_ws/devel_isolated/pluginlib/lib/pluginlib/plugin_tool
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_tolower_51'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_isblank_51'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_charType_51'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_charFromName_51'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `icu_51::Locale::Locale(icu_51::Locale const&)'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_isspace_51'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `icu_51::Locale::Locale()'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `icu_51::Locale::~Locale()'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `icu_51::Collator::createInstance(icu_51::Locale const&, UErrorCode&)'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_digit_51'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/abouchard/ros_catkin_ws/devel_isolated/pluginlib/lib/pluginlib/plugin_tool] Error 1
make[1]: *** [CMakeFiles/plugin_tool.dir/all] Error 2
make: *** [all] Error 2
Traceback (most recent call last):
  File "./src/catkin/bin/../python/catkin/builder.py", line 722, in build_workspace_isolated
    number=index + 1, of=len(ordered_packages)
  File "./src/catkin/bin/../python/catkin/builder.py", line 497, in build_package
    install, force_cmake, quiet, last_env, cmake_args, make_args + catkin_make_args
  File "./src/catkin/bin/../python/catkin/builder.py", line 353, in build_catkin_package
    run_command(make_cmd, build_dir, quiet)
  File "./src/catkin/bin/../python/catkin/builder.py", line 198, in run_command
    raise subprocess.CalledProcessError(proc.returncode, ' '.join(cmd))
CalledProcessError: Command '/opt/ros/groovy/env.sh make -j2 -l2' returned non-zero exit status 2
<== Failed to process package 'pluginlib': 
  Command '/opt/ros/groovy/env.sh make -j2 -l2' returned non-zero exit status 2

Reproduce this error by running:
==> /opt/ros/groovy/env.sh make -j2 -l2

Command failed, exiting.

This is the result of the following command, which successfully built the catkin environment previously, but I am rebuilding after updating Boost from v1.49 to v1.54.

sudo ./src/catkin/bin/catkin_make_isolated --install-space /opt/ros/groovy --install -DSETUPTOOLS_DEB_LAYOUT=OFF

Searching for this issue on Google is not very instructive, but the undefined reference errors all appear to be related to the icu package, and ought to be provided by libicuuc. However, in /usr/lib64 I have

lrwxrwxrwx 1 root root      14 Jul 15 13:03 libicuuc.so -> libicuuc.so.51
lrwxrwxrwx 1 root root      16 Jul 15 07:56 libicuuc.so.49 -> libicuuc ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-07-16 02:05:06 -0600

teddybouch gravatar image

A little more digging suggests that libboost_regex does not link to icu when installed from YaST. I've submitted a bug report to openSUSE and will update this post if I get a fix.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2013-07-15 08:22:14 -0600

Seen: 516 times

Last updated: Jul 15 '13