This debdiff gets over the actual build failures, but it now fails here: scons --smokedbprefix=/home/martin/ubuntu/tmp/juju-mongodb-2.4.10/debian/tmp-test smoke --use-system-snappy --use-system-pcre --use-system-boost --ssl --nostrip -j4 --allocator=tcmalloc --use-system-tcmalloc --disable-scripting scons: Reading SConscript files ... scons version: 2.3.6 python version: 2 7 10 'final' 0 Checking whether the C++ compiler works... (cached) yes Checking for C++ header file boost/filesystem/operations.hpp... (cached) yes Checking for C++ library boost_thread-mt... (cached) no Checking for C++ library boost_thread... (cached) yes Checking for C++ library boost_filesystem-mt... (cached) no Checking for C++ library boost_filesystem... (cached) yes Checking for C++ library boost_program_options-mt... (cached) no Checking for C++ library boost_program_options... (cached) yes Checking for C++ library boost_system-mt... (cached) no Checking for C++ library boost_system... (cached) yes Checking for C header file unistd.h... (cached) yes Checking whether clock_gettime is declared... (cached) yes Checking for C library rt... (cached) yes Checking for C++ header file execinfo.h... (cached) yes Checking whether backtrace is declared... (cached) yes Checking whether backtrace_symbols is declared... (cached) yes Checking whether backtrace_symbols_fd is declared... (cached) yes Checking for C library pcap... (cached) yes Checking for C library tcmalloc... (cached) yes scons: done reading SConscript files. scons: Building targets ... generate_buildinfo(["build/buildinfo.cpp"], ['\n#include \n#include \n\n#include "mongo/util/version.h"\n\nnamespace mongo {\n const char * gitVersion() { return "%(git_version)s"; }\n const char * compiledJSEngine() { return "%(js_engine)s"; }\n const char * allocator() { return "%(allocator)s"; }\n const char * loaderFlags() { return "%(loader_flags)s"; }\n const char * compilerFlags() { return "%(compiler_flags)s"; }\n std::string sysInfo() { return "%(sys_info)s BOOST_LIB_VERSION=" BOOST_LIB_VERSION ; }\n} // namespace mongo\n']) /usr/bin/python /home/martin/ubuntu/tmp/juju-mongodb-2.4.10/buildscripts/smoke.py --with-cleanbb --smoke-db-prefix /home/martin/ubuntu/tmp/juju-mongodb-2.4.10/debian/tmp-test test Traceback (most recent call last): File "/home/martin/ubuntu/tmp/juju-mongodb-2.4.10/buildscripts/smoke.py", line 52, in from pymongo import Connection ImportError: cannot import name Connection scons: *** [smoke] Error 1 Indeed this doesn't seem to work at all: $ python -c 'from pymongo import Connection' Traceback (most recent call last): File "", line 1, in ImportError: cannot import name Connection >>> import pymongo >>> dir(pymongo) ['ALL', 'ASCENDING', 'CursorType', 'DESCENDING', 'DeleteMany', 'DeleteOne', 'GEO2D', 'GEOHAYSTACK', 'GEOSPHERE', 'HASHED', 'IndexModel', 'InsertOne', 'MAX_SUPPORTED_WIRE_VERSION', 'MIN_SUPPORTED_WIRE_VERSION', 'MongoClient', 'MongoReplicaSetClient', 'OFF', 'ReadPreference', 'ReplaceOne', 'ReturnDocument', 'SLOW_ONLY', 'TEXT', 'UpdateMany', 'UpdateOne', 'WriteConcern', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'auth', 'bulk', 'client_options', 'collection', 'command_cursor', 'common', 'cursor', 'cursor_manager', 'database', 'errors', 'get_version_string', 'has_c', 'helpers', 'ismaster', 'message', 'mongo_client', 'mongo_replica_set_client', 'monitor', 'monotonic', 'network', 'operations', 'periodic_executor', 'pool', 'read_preferences', 'response', 'results', 'server', 'server_description', 'server_selectors', 'server_type', 'settings', 'son_manipulator', 'ssl_support', 'thread_util', 'topology', 'topology_description', 'uri_parser', 'version', 'version_tuple', 'write_concern'] >> import pymongo.Connection Traceback (most recent call last): File "", line 1, in ImportError: No module named Connection So it looks like pymongo changed API a while ago, and this needs to be adjusted?