Jonathan Brielmaier writes: > `tools/build/src/engine/execunix.cpp` was named > `tools/build/src/engine/execunix.c` before. So the following patch > allows to build boost@1.59 again. > > ``` > diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm > index 2f2ca289ab..d44b534939 100644 > --- a/gnu/packages/boost.scm > +++ b/gnu/packages/boost.scm > @@ -120,10 +120,11 @@ > (let ((icu (assoc-ref inputs "icu4c")) > (python (assoc-ref inputs "python")) > (out (assoc-ref outputs "out"))) > - (substitute* '("libs/config/configure" > - "libs/spirit/classic/phoenix/test/runtest.sh" > - "tools/build/src/engine/execunix.cpp" > - "tools/build/src/engine/Jambase") > + (substitute* (append > + (find-files "tools/build/src/engine/" > "execunix\\.c.*") > + '("libs/config/configure" > + > "libs/spirit/classic/phoenix/test/runtest.sh" > + "tools/build/src/engine/Jambase")) > (("/bin/sh") (which "sh"))) > > (setenv "SHELL" (which "sh")) > ``` > > Although it fails with > ``` > libs/python/src/converter/builtin_converters.cpp: In function ‘void* > boost::python::converter::{anonymous}::convert_to_cstring(PyObject*)’: > libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid > conversion from ‘const void*’ to ‘void*’ [-fpermissive] > return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0; > > "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall > -pthread -fPIC -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG > -I"." > -I"/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/include/python3.8" > -c -o > "bin.v2/libs/python/build/gcc-7.5.0/release/threading-multi/converter/builtin_converters.o" > "libs/python/src/converter/builtin_converters.cpp" > ``` I think our efforts are better spent on updating the packages that use this ancient Boost instead of hacking it to work with Python 3.8. Though disabling Python support might work around the issue for now... Do you use any packages that depend on this?