diff -up src/sage_docbuild/ext/multidocs.py.orig src/sage_docbuild/ext/multidocs.py --- src/sage_docbuild/ext/multidocs.py.orig 2021-08-22 02:44:34.000000000 -0600 +++ src/sage_docbuild/ext/multidocs.py 2021-08-26 13:11:24.937824557 -0600 @@ -84,8 +84,11 @@ def merge_environment(app, env): for ind in newalldoc: # treat subdocument source as orphaned file and don't complain md = env.metadata.get(ind, dict()) - md['orphan'] = 1 - env.metadata[ind] = md + try: + md['orphan'] = 1 + env.metadata[ind] = md + except AttributeError: + env.metadata[ind] = {'orphan'} # merge the citations newcite = {} for ind, (path, tag, lineno) in citations.items(): diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py --- src/sage/interfaces/singular.py.orig 2021-08-26 13:11:24.940824561 -0600 +++ src/sage/interfaces/singular.py 2021-08-26 13:17:49.831262334 -0600 @@ -2370,11 +2370,11 @@ def generate_docstring_dictionary(): L, in_node, curr_node = [], False, None - from sage.libs.singular.singular import get_resource - singular_info_file = get_resource('i') + singular_info_file = '/usr/share/info/singular.hlp.gz' # singular.hlp contains a few iso-8859-1 encoded special characters - with io.open(singular_info_file, + import gzip + with gzip.open(singular_info_file, encoding='latin-1') as f: for line in f: m = re.match(new_node,line)