lagadic / vision_visp

ViSP stack for ROS
http://wiki.ros.org/vision_visp
GNU General Public License v2.0
184 stars 90 forks source link

groovy builds are failing #15

Closed dirk-thomas closed 10 years ago

dirk-thomas commented 10 years ago

On of the Jenkins jobs shows the build error: http://jenkins.ros.org/view/GbinP32/job/ros-groovy-vision-visp_binarydeb_precise_amd64/

It looks like a previously existing file which is downloaded in the build process is gone: https://github.com/downloads/laas/visp_tracker/tutorial-static-box.bag

Please address the problem soon to avoid that the existing Debian package will be removed from the public repo with the next upcoming sync (around mid of the week): http://www.ros.org/debbuild/groovy.html?q=regression

fspindle commented 10 years ago

Thomas has released a new version 0.6.0. We are waiting for the Jenkins jobs to see if all is ok

dirk-thomas commented 10 years ago

The released version still indicates 0.5.0: https://code.google.com/p/ros-dry-releases/source/browse/trunk/distros/groovy.rosdistro#853

thomas-moulard commented 10 years ago

Tully contacted me, I am working on releasing this again. If we are the last one blocking, you can go ahead without us, it is a shame but we cannot help it.

@dirk-thomas you do not see the new version here as we now switched to Catkin and the new release is here: https://github.com/ros/rosdistro/blob/master/groovy/distribution.yaml#L4334 (0.7.1-0)

dirk-thomas commented 10 years ago

If you want to release the catkinized version now you should also remove the dry version with the same name from the dry release file to avoid collisions.

thomas-moulard commented 10 years ago

Ha ok, got it. Just sent the email to request access to ros-dry-releases. I will remove this then. Jenkins does not fail anymore on the devel job so we're getting closer...

thomas-moulard commented 10 years ago

Ok so now I got this failure on the pre-release:

http://jenkins.ros.org/job/prerelease-hydro-vision_visp/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=prerelease/4/console

It seems it tries to install non-existing (not yet generated) Debian packages... It is unclear why though...

dirk-thomas commented 10 years ago

The Debian packages it depends on are not available. You can verify that by looking at the current Debian status page: http://www.ros.org/debbuild/hydro.html?q=visp

And if you follow the red squares for those packages you will get to the failing Jenkins binarydeb jobs: e.g. http://jenkins.ros.org/view/HbinP64/job/ros-hydro-visp-tracker_binarydeb_precise_amd64/

thomas-moulard commented 10 years ago

Ok, I understood how this page was working. This was not very easy... But still, this is a pre-release, does it still make sense to look at this page in this case?

The error is:

E: Unable to locate package ros-hydro-visp-bridge
E: Unable to locate package ros-hydro-visp-tracker

... but the pre-release should generate these packages (they are part of vision_visp).

thomas-moulard commented 10 years ago

Ok, so apparently, visp is missing its CMake macros in ROS. See lagadic/visp-release#5 Let's switch to pkg-config as it is more reliable anyway IMHO.

thomas-moulard commented 10 years ago

catkin_lint is now (9ba378ca523ea07b1fc0720a0e29e57a404fcca3) giving:

$ find -maxdepth 1 -type d | xargs catkin_lint --explain -W2                                                               
visp_auto_tracker: error: unconfigured build_depend on 'visp'
     * You declare a build dependency on another package but neither
     * call find_package() nor have it listed as catkin component in
     * the find_package(catkin) call.
visp_auto_tracker: error: unconfigured build_depend on 'visp'
visp_auto_tracker: CMakeLists.txt(26): warning: use of link_directories() is strongly discouraged
     * Directories which are added to the search path with
     * link_directories() will not be propagated to dependent
     * packages. You should avoid this command or at least be aware
     * that it might not work as expected in dependent packages.
visp_auto_tracker: CMakeLists.txt(26): warning: use of link_directories() is strongly discouraged
visp_bridge: error: unconfigured build_depend on 'visp'
visp_bridge: error: unconfigured build_depend on 'visp'
visp_bridge: CMakeLists.txt(41): warning: use of link_directories() is strongly discouraged
visp_bridge: CMakeLists.txt(41): warning: use of link_directories() is strongly discouraged
visp_camera_calibration: error: unconfigured build_depend on 'visp'
visp_camera_calibration: error: unconfigured build_depend on 'visp'
visp_camera_calibration: CMakeLists.txt(22): warning: use of link_directories() is strongly discouraged
visp_camera_calibration: CMakeLists.txt(22): warning: use of link_directories() is strongly discouraged
visp_hand2eye_calibration: error: unconfigured build_depend on 'visp'
visp_hand2eye_calibration: error: unconfigured build_depend on 'visp'
visp_hand2eye_calibration: CMakeLists.txt(25): warning: use of link_directories() is strongly discouraged
visp_hand2eye_calibration: CMakeLists.txt(25): warning: use of link_directories() is strongly discouraged
visp_tracker: error: unconfigured build_depend on 'visp'
visp_tracker: error: unconfigured build_depend on 'visp'
visp_tracker: CMakeLists.txt(74): warning: use of link_directories() is strongly discouraged
visp_tracker: CMakeLists.txt(74): warning: use of link_directories() is strongly discouraged
catkin_lint: checked 12 packages and found 20 problems

I double checked all the headers for missed dependencies, fixed the package.xml, and checked that all libraries are not missing any symbols with ldd -r.

@fspindle you just fixed the compilation of the stack by adding the required libraries on the final binary. This is not acceptable as it produces incomplete libraries which are not usable. Instead, please do check what library you are using and add the appropriate target_link_libraries in CMake when needed. I fixed it for this time.

thomas-moulard commented 10 years ago

The last build is still giving the same error:

http://jenkins.ros.org/job/prerelease-hydro-vision_visp/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=prerelease/6/consoleText

I will retry later if I can get some good advice from the SIG but so far I am a bit stuck...

dirk-thomas commented 10 years ago

It tried to install the Debian packages for some of the packages which are part of the prereleased repository. That was a bug in the prerelease job which I have addressed in ros-infrastructure/jenkins_scripts#66. The latest prerelease job I just triggered passed: http://jenkins.ros.org/job/prerelease-hydro-vision_visp/ARCH_PARAM=amd64,UBUNTU_PARAM=precise,label=prerelease/8/console

thomas-moulard commented 10 years ago

Great, thanks!