ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Build failing: mongdb_store


#1

Hi, apologies if this is the wrong topic to put this in (if so, please move/advise), but I have a package that is failing to build on the buildfarm and I can’t immediately see why.

The package is ros-kinetic-mongodb-store for 15.04 (jessie).

An instance of the job is here: http://build.ros.org/job/Kbin_djv8_dJv8__mongodb_store__debian_jessie_arm64__binary/5/console

It appears to be failing due to a missing rosdep key for mongdb but this is listed in the rosdep: https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L3406

# BEGIN SUBSECTION: append build timestamp
00:29:00 parsechangelog/debian: warning:     debian/changelog(l5): found trailer where expected start of change data
00:29:00 LINE:  -- Chris Burbridge <cburbridge@gmail.com>  Thu, 14 Sep 2017 00:00:00 -0000
00:29:00 Invoking 'debchange -v 0.3.6-0jessie-20170918-232900-0800 -p -D jessie -u high -m Append timestamp when binarydeb was built.' in '/tmp/binarydeb/ros-kinetic-mongodb-store-0.3.6'
00:29:02 debchange warning: Recognised distributions are: unstable, testing, stable,
00:29:02 oldstable, experimental, {testing-,stable-,oldstable-,}proposed-updates,
00:29:02 {testing,stable,oldstable}-security, wheezy-backports, jessie-backports and UNRELEASED.
00:29:02 Using your request anyway.
00:29:03 parsechangelog/debian: warning:     debian/changelog(l5): found trailer where expected start of change data
00:29:03 LINE:  -- Chris Burbridge <cburbridge@gmail.com>  Thu, 14 Sep 2017 00:00:00 -0000
00:29:03 debchange: Did you see that warning?  Press RETURN to continue...
00:29:03 # END SUBSECTION
00:29:27 Looking for the '.dsc' file of package 'ros-kinetic-mongodb-store' with version '0.3.6-0'
00:29:48 Traceback (most recent call last):
00:29:48   File "/usr/lib/python3/dist-packages/apt/cache.py", line 201, in __getitem__
00:29:48     return self._weakref[key]
00:29:48   File "/usr/lib/python3.4/weakref.py", line 125, in __getitem__
00:29:48     o = self.data[key]()
00:29:48 KeyError: 'mongodb'
00:29:48 
00:29:48 During handling of the above exception, another exception occurred:
00:29:48 
00:29:48 Traceback (most recent call last):
00:29:48   File "/tmp/ros_buildfarm/scripts/release/create_binarydeb_task_generator.py", line 163, in <module>
00:29:48     main()
00:29:48   File "/tmp/ros_buildfarm/scripts/release/create_binarydeb_task_generator.py", line 85, in main
00:29:48     apt_cache, debian_pkg_names)
00:29:48   File "/tmp/ros_buildfarm/ros_buildfarm/common.py", line 144, in get_binary_package_versions
00:29:48     pkg = apt_cache[debian_pkg_name]
00:29:48   File "/usr/lib/python3/dist-packages/apt/cache.py", line 208, in __getitem__
00:29:48     raise KeyError('The cache has no package named %r' % key)
00:29:48 KeyError: "The cache has no package named 'mongodb'"
00:29:49 Build step 'Execute shell' marked build as failure

We have this building successfully on 14.04 (http://build.ros.org/view/Ibin_uT64/job/Ibin_uT64__mongodb_store__ubuntu_trusty_amd64__binary/) and 16.04 (http://build.ros.org/view/Kbin_uX64/job/Kbin_uX64__mongodb_store__ubuntu_xenial_amd64__binary/), so I’m not sure what the issue us with 15.04. Anyone got any ideas?

thanks,

Nick


#2

The key error is in the debian pipeline after rosdep has already been resolved by bloom.

Your problem is that mongodb does not have a armv8 version for Jessie. It has i386, amd64, and armhf: https://packages.debian.org/jessie/mongodb

So you’ll want to add this package to the jessie armv8 blacklist: https://github.com/ros-infrastructure/ros_buildfarm_config/blob/production/kinetic/release-jessie-arm64-build.yaml#L14 And then the buildfarm will stop trying to build the package.


#3

Thanks! PR created: https://github.com/ros-infrastructure/ros_buildfarm_config/pull/95