FYI, I tested Robert's patch and it doesn't quite run on Ubuntu 18.04. Fortunately, it can be fixed with some minor tweaking:
Environment:
----
Reproduced with:
Ubuntu 18.04 Bionic Beaver (development branch) (docker image)
Python @ 3.6.4
SCons @ v3.0.1.7
Error:
----
NameError: name 'reduce' is not defined:
File "/root/gpsd/SConstruct", line 1485:
generated_sources)
File "/root/gpsd/SConstruct", line 1471:
files = reduce(operator.add, map(glob.glob, patterns), [])
Fix:
----
This can be fixed by simply including the function:
-----
diff --git a/SConstruct b/SConstruct
index 17b47e21..d9d75653 100644
--- a/SConstruct
+++ b/SConstruct
@@ -85,6 +85,7 @@ import sys
import time
from distutils import sysconfig
from distutils.util import get_platform
+from functools import reduce
import SCons