ros-naoqi/naoqi_driver

I cannot compile naoqi_driver with ros-indigo-naoqi-libqi version 2.5

Closed this issue · 6 comments

Hi,
I'd like to ask someone for my question. Could anyone help me?
I am very sorry for my trouble.

I cannot compile naoqi_driver from this page (branch master) with ros-indigo-naoqi-libqi 2.5.0-1trusty-20160313-144036-0700.
I use ubuntu 14.04, ros indigo.

You will find the all compile log below, and the error seems these messages.

/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);

I tried to downgrade ros-indigo-naoqi-libqi , but sudo apt-cache showpkg ros-indigo-naoqi-libqi says that I can install only version 2.5 .

1. If the result of cat /etc/apt/sources.list.d/ros-latest.list is deb http://packages.ros.org/ros-shadow-fixed/ubuntu trusty main

Package: ros-indigo-naoqi-libqi
Versions: 
2.5.0-1trusty-20160313-144036-0700 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/dpkg/status
                  MD5: 11916c51ef94db9fc8a3aac342be977d


Reverse Depends: 
  ros-indigo-naoqi-driver,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqicore,ros-indigo-naoqi-libqi
Dependencies: 
2.5.0-1trusty-20160313-144036-0700 - libboost-chrono1.54.0 (0 (null)) libboost-filesystem1.54.0 (0 (null)) libboost-program-options1.54.0 (0 (null)) libboost-regex1.54.0 (0 (null)) libboost-system1.54.0 (0 (null)) libboost-thread1.54.0 (0 (null)) libc6 (2 2.15) libgcc1 (2 1:4.1.1) libstdc++6 (2 4.6) libboost-all-dev (0 (null)) 
Provides: 
2.5.0-1trusty-20160313-144036-0700 - 
Reverse Provides: 

2. If the result of cat /etc/apt/sources.list.d/ros-latest.list is deb http://packages.ros.org/ros-shadow-fixed/ubuntu trusty main

Package: ros-indigo-naoqi-libqi
Versions: 
2.5.0-1trusty-20160313-144036-0700 (/var/lib/apt/lists/packages.ros.org_ros-shadow-fixed_ubuntu_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/packages.ros.org_ros-shadow-fixed_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 11916c51ef94db9fc8a3aac342be977d


Reverse Depends: 
  ros-indigo-naoqi-driver,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqi:i386,ros-indigo-naoqi-libqi
  ros-indigo-naoqi-libqicore,ros-indigo-naoqi-libqi
Dependencies: 
2.5.0-1trusty-20160313-144036-0700 - libboost-chrono1.54.0 (0 (null)) libboost-filesystem1.54.0 (0 (null)) libboost-program-options1.54.0 (0 (null)) libboost-regex1.54.0 (0 (null)) libboost-system1.54.0 (0 (null)) libboost-thread1.54.0 (0 (null)) libc6 (2 2.15) libgcc1 (2 1:4.1.1) libstdc++6 (2 4.6) libboost-all-dev (0 (null)) ros-indigo-naoqi-libqi:i386 (0 (null)) 
Provides: 
2.5.0-1trusty-20160313-144036-0700 - 
Reverse Provides: 

This is the log when I tried to compile naoqi_driver by catkin clean -a and catkin build

cat /home/kochigami/catkin_ws/build/build_logs/naoqi_driver.log
[naoqi_driver] ==> '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/cmake /home/kochigami/catkin_ws/src/naoqi_driver -DCATKIN_DEVEL_PREFIX=/home/kochigami/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/kochigami/catkin_ws/install' in '/home/kochigami/catkin_ws/build/naoqi_driver'
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /home/kochigami/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/kochigami/catkin_ws/devel;/opt/ros/indigo
-- This workspace overlays: /home/kochigami/catkin_ws/devel;/opt/ros/indigo
-- Found PythonInterp: /usr/bin/python (found version "2.7.6") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/kochigami/catkin_ws/build/naoqi_driver/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.16
-- Using these message generators: gencpp;geneus;genlisp;genpy
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kochigami/catkin_ws/build/naoqi_driver
[naoqi_driver] <== '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/cmake /home/kochigami/catkin_ws/src/naoqi_driver -DCATKIN_DEVEL_PREFIX=/home/kochigami/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/kochigami/catkin_ws/install' finished with return code '0'
[naoqi_driver] ==> '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' in '/home/kochigami/catkin_ws/build/naoqi_driver'
Scanning dependencies of target tf2_msgs_generate_messages_py
[  0%] Built target tf2_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_py
[  0%] Built target naoqi_bridge_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_lisp
[  0%] Built target naoqi_bridge_msgs_generate_messages_lisp
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_cpp
[  0%] Built target naoqi_bridge_msgs_generate_messages_cpp
Scanning dependencies of target geometry_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
Scanning dependencies of target diagnostic_msgs_generate_messages_py
[  0%] Built target diagnostic_msgs_generate_messages_py
Scanning dependencies of target naoqi_bridge_msgs_generate_messages_eus
[  0%] Built target naoqi_bridge_msgs_generate_messages_eus
Scanning dependencies of target actionlib_msgs_generate_messages_py
[  0%] Built target actionlib_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_lisp
[  0%] Built target roscpp_generate_messages_lisp
Scanning dependencies of target rosgraph_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_py
Scanning dependencies of target rosgraph_msgs_generate_messages_cpp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
Scanning dependencies of target rosgraph_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_msgs_generate_messages_lisp
[  0%] Built target actionlib_msgs_generate_messages_lisp
Scanning dependencies of target nav_msgs_generate_messages_py
[  0%] Built target nav_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_cpp
Scanning dependencies of target roscpp_generate_messages_py
[  0%] Built target roscpp_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_cpp
[  0%] Built target roscpp_generate_messages_cpp
Scanning dependencies of target diagnostic_msgs_generate_messages_lisp
[  0%] Built target diagnostic_msgs_generate_messages_lisp
Scanning dependencies of target diagnostic_msgs_generate_messages_cpp
[  0%] Built target diagnostic_msgs_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_lisp
Scanning dependencies of target sensor_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_cpp
Scanning dependencies of target nav_msgs_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_msgs_generate_messages_cpp
[  0%] Built target actionlib_msgs_generate_messages_cpp
Scanning dependencies of target nav_msgs_generate_messages_cpp
[  0%] Built target nav_msgs_generate_messages_cpp
Scanning dependencies of target trajectory_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_py
Scanning dependencies of target trajectory_msgs_generate_messages_lisp
[  0%] Built target trajectory_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_cpp
[  0%] Built target actionlib_generate_messages_cpp
Scanning dependencies of target trajectory_msgs_generate_messages_cpp
[  0%] Built target trajectory_msgs_generate_messages_cpp
Scanning dependencies of target actionlib_generate_messages_lisp
[  0%] Built target actionlib_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_py
[  0%] Built target actionlib_generate_messages_py
Scanning dependencies of target tf2_msgs_generate_messages_lisp
[  0%] Built target tf2_msgs_generate_messages_lisp
Scanning dependencies of target tf2_msgs_generate_messages_cpp
[  0%] Built target tf2_msgs_generate_messages_cpp
Scanning dependencies of target naoqi_driver
[  2%] Building CXX object CMakeFiles/naoqi_driver.dir/src/naoqi_driver.cpp.o
[  5%] Building CXX object CMakeFiles/naoqi_driver.dir/src/helpers/driver_helpers.cpp.o
[  7%] Building CXX object CMakeFiles/naoqi_driver.dir/src/recorder/globalrecorder.cpp.o
In file included from /opt/ros/indigo/include/qi/anyfunction.hpp:53:0,
                 from /opt/ros/indigo/include/qi/signal.hpp:12,
                 from /opt/ros/indigo/include/qi/anyobject.hpp:15,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/helpers/driver_helpers.hpp:22,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/helpers/driver_helpers.cpp:18:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
In file included from /opt/ros/indigo/include/qi/messaging/serviceinfo.hpp:15:0,
                 from /opt/ros/indigo/include/qi/session.hpp:11,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/naoqi_driver.hpp:36,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/naoqi_driver.cpp:21:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/helpers/driver_helpers.cpp.o]  1
make[2]: *** ....
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/opt/ros/indigo/include/qicore/logmessage.hpp:15:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(qi::LogLevel)
 ^
In file included from /opt/ros/indigo/include/qi/anyfunction.hpp:53:0,
                 from /opt/ros/indigo/include/qi/signal.hpp:12,
                 from /opt/ros/indigo/include/qi/anyobject.hpp:15,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/recorder/globalrecorder.hpp:24,
                 from /home/kochigami/catkin_ws/src/naoqi_driver/src/recorder/globalrecorder.cpp:21:
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:65:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::Topics);
 ^
/opt/ros/indigo/include/qi/type/typeinterface.hpp:396:51: error: QI_TYPE_ENUM_REGISTER_ is deprecated (declared at /opt/ros/indigo/include/qi/type/typeinterface.hpp:387) [-Werror=deprecated-declarations]
       static const detail::QI_TYPE_ENUM_REGISTER_ BLAH;              \
                                                   ^
/home/kochigami/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:66:1: note: in expansion of macro QI_TYPE_ENUM_REGISTER
 QI_TYPE_ENUM_REGISTER(naoqi::dataType::DataType);
 ^
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/recorder/globalrecorder.cpp.o]  1
cc1plus: some warnings being treated as errors
make[2]: *** [CMakeFiles/naoqi_driver.dir/src/naoqi_driver.cpp.o]  1
make[1]: *** [CMakeFiles/naoqi_driver.dir/all]  2
make: *** [all]  2
[naoqi_driver] <== '/home/kochigami/catkin_ws/build/naoqi_driver/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' failed with return code '2

hi, sorry about that, we are waiting for a fix from @suryaambrose . I cannot help on that for the next two weeks. @suryaambrose , should we revert ?
Also, @kochigami , can you please try removing that line and see if it work for you: https://github.com/ros-naoqi/naoqi_driver/blob/master/CMakeLists_catkin.txt#L30
Thx.

@kochigami yes the problem is known. The line giving you an error is easy to fix, but you will then run into boost incompatibilities issues.
@vrabaud give me until this week-end. If I can't figure out a solution, then yes we will revert.

@vrabaud @suryaambrose
Thank you for your advice.
I changed CMakeLists.txt, tools.hpp and external_registration.cpp as same as #64
and deleted the line in CMakeLists_catkin.txt.
Then I found boost imcompatible errors.

Linking CXX executable ../sdk/bin/buffer_example
/opt/ros/indigo/lib/libqi.so: `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option, boost::system::error_code*)' 
collect2: error: ld returned 1 exit status

Thank you very much for your help in your busy time.

oh, totally forgot about #64 : @suryaambrose , feel free to merge if that is a fix. And also remove https://github.com/ros-naoqi/naoqi_driver/blob/master/CMakeLists_catkin.txt#L30 if that works for you. Thx.

#64 fixes compilation, but not the linkage towards boost. Let's not merge it right now (less things to revert if we decide to go back to libqi-2.3)

This issue is more about libqi than naoqi_driver.
I reported everything needed here: ros-naoqi/libqi-release#3