moveit: Errors when build moveit from souce
Description
Hello,
I try to build moveit from source, but keep getting errors.
Your environment
- ROS Distro: [Kinetic]
- OS Version: Ubuntu 16.04
- Source kinetic-devel
Steps to reproduce
I followed this tutorial http://moveit.ros.org/install/source/
rosdep update sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install python-wstool python-catkin-tools clang-format-3.8 mkdir -p ~/ws_moveit/src cd ~/ws_moveit/src wstool init . wstool merge https://raw.githubusercontent.com/ros-planning/moveit/kinetic-devel/moveit.rosinstall wstool update rosdep install -y --from-paths . --ignore-src --rosdistro kinetic cd … catkin config --extend /opt/ros/kinetic --cmake-args -DCMAKE_BUILD_TYPE=Release catkin build
Expected behaviour
Build success!
Actual behaviour
/opt/ros/kinetic/lib/libresource_retriever.so:_ undefined reference to `curl_easy_setopt@CURL_OPENSSL_3’
/opt/ros/kinetic/lib/libresource_retriever.so: undefined reference to `curl_easy_cleanup@CURL_OPENSSL_3’
/opt/ros/kinetic/lib/libresource_retriever.so: undefined reference to `curl_easy_init@CURL_OPENSSL_3’
/opt/ros/kinetic/lib/libresource_retriever.so: undefined reference to `curl_global_cleanup@CURL_OPENSSL_3’
/opt/ros/kinetic/lib/libresource_retriever.so: undefined reference to `curl_easy_perform@CURL_OPENSSL_3’
/opt/ros/kinetic/lib/libresource_retriever.so: undefined reference to `curl_global_init@CURL_OPENSSL_3’
collect2: error: ld returned 1 exit status make[2]: *** [devel/lib/moveit_setup_assistant/collisions_updater] Error 1 make[1]: *** [CMakeFiles/moveit_setup_assistant_updater.dir/all] Error 2 make: *** [all] Error 2
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 19 (6 by maintainers)
Commits related to this issue
- Update Maintainers of MoveIt package (#697) Co-authored-by: Tyler Weaver <tyler@picknik.ai> Co-authored-by: Henning Kayser <henningkayser@picknik.ai> — committed to JafarAbdi/moveit by davetcoleman 3 years ago
+1 same error
Thanks @arrfou90! After deactivating the conda base environment it worked!
I am having a similar problem. I am building Moveit from source on Ubuntu 20.04, which has to use ROS distro Noetic. The errors I got are almost the same as the original description except that the references missing have a suffix of CURL_OPENSSL_4 instead of CURL_OPENSSL_3. A possible clue:
note how the referee and referrer are different by the number of '@'s.
I have confirmed which libcurl.so the building process is using by renaming one of the and seeing whether the compiler issues a ‘No file or directory’ error. It is using
/lib/x86_64-linux-gnu/libcurl.so.4
in my environment.This is probably because some ROS packages are built under conda environment. And the required python interpreter by the ROS packages are specified to the python interpreter under conda directory. And in this case, some librarys might be misled to the libs under conda directory.
I had the same issue (it is a dependency issue: curl-openssl version). I solved it by removing curl-openssl that was installed inside Anaconda2.