sphinx is pretty fragile, you need to patch docutils to ignore that error. My docutils has:
Code:
def dupname(node, name):
node['dupnames'].append(name)
try:
node['names'].remove(name)
except ValueError:
pass
# Assume that this method is referenced, even though it isn't; we
# don't want to throw unnecessary system_messages.
node.referenced = 1