Build failing: mongdb_store

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

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

image

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.

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

1 Like