utexas-bwi / bwi_common

Common packages and data for BWI projects
http://wiki.ros.org/bwi_common
Other
19 stars 32 forks source link

Kinetic: port code base to ROS Kinetic and Ubuntu Xenial #83

Open jack-oquin opened 7 years ago

jack-oquin commented 7 years ago

xref: utexas-bwi/bwi#44

The first step is porting bwi_common to the new distro.

The initial problem seems to be a missing dependency, so I'll work on that:

$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
bwi_virtour: Cannot locate rosdep definition for [web_video_server]

Since, web_video_server is not yet released to Kinetic, I'll request that they do that.

jack-oquin commented 7 years ago

After adding web_video_server and its dependency async_web_server_cpp to the workspace, all the remaining rosdeps can be resolved in Kinetic.

jack-oquin commented 7 years ago

There are many CMake warnings like this one:

CMake Warning (dev) at CMakeLists.txt:75 (add_executable):
  Policy CMP0037 is not set: Target names should not be reserved and should
  match a validity pattern.  Run "cmake --help-policy CMP0037" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The target name "bwi_mapper/generate_graph" is reserved or not valid for
  certain CMake features, such as generator expressions, and may result in
  undefined behavior.
This warning is for project developers.  Use -Wno-dev to suppress it.

They don't block the build, but they need to be fixed.

jack-oquin commented 7 years ago

Still waiting on these repository releases:

The first depends on the second.

jack-oquin commented 7 years ago

The CMake warnings (above) seem to be due to bwi_mapper using a slash ('/') in various target names. I know how to suppress the message with CMAKE_POLICY(SET CMP0037 OLD), but I'd rather figure out how to remove the slash.

jack-oquin commented 7 years ago

The only remaining bwi_common build error on Kinetic is this:

No handlers could be found for logger "trollius"ueued] [bwi_tasks:install (0%) - 3.1] [bwi_scavenger:check - 3.2]                                                              
_______________________________________________________________________________________________________________________________________________________________________________
Warnings   << bwi_scavenger:check /home/joq/ros/ws/logs/bwi_scavenger/build.check.002.log                                                                                      
** WARNING ** io features related to openni2 will be disabled
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
** WARNING ** visualization features related to openni2 will be disabled
cd /home/joq/ros/ws/build/bwi_scavenger; catkin build --get-env bwi_scavenger | catkin env -si  /usr/bin/make cmake_check_build_system; cd -
...............................................................................................................................................................................
piyushk commented 7 years ago

Also, any python script using Qt needs to be ported to Qt5 (the only thing that has changed is how certain classes are imported).

jack-oquin commented 7 years ago

The missing dependencies have all been released, so bwi_common builds on Kinetic, but still with two warning messages:

Warnings   << bwi_tools:cmake /home/joq/ros/kinetic/bwi/logs/bwi_tools/build.cmake.000.log                                                                                     
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
  catkin_package() DEPENDS on 'BOOST' but neither 'BOOST_INCLUDE_DIRS' nor
  'BOOST_LIBRARIES' is defined.
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
  CMakeLists.txt:15 (catkin_package)
Warnings   << bwi_scavenger:cmake /home/joq/ros/kinetic/bwi/logs/bwi_scavenger/build.cmake.000.log                                                                             
** WARNING ** io features related to openni2 will be disabled
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
** WARNING ** visualization features related to openni2 will be disabled
jack-oquin commented 7 years ago

The primary remaining problem in this repository (that we know about) is the Qt4 vs. Qt5 issue that @piyushk mentioned.

In order for our code base to continue working on both Indigo and Kinetic, we need solutions that discover which version is available and automatically configure to use the correct one.

jack-oquin commented 6 years ago

The openni2 warning messages in bwi_scavenger are apparently due to a missing rosdep for libopenni2-dev. Installing that package makes those warnings go away.

jack-oquin commented 6 years ago

Installing libpcap and libpng does not make the other two warnings go away.

Nor have I been able to figure out where those message are coming from. I see no code anywhere in bwi_scavenger that uses them.