On Wed, May 20, 2020 at 10:31:32PM +0200, Marius Bakke wrote: > 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")) > > ``` We can't straight-up patch boost because it has too many dependants, but I copied the configure phase to boost-for-mysql and applied the changes there. > > > > 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? It built with no problems with python2 instead of python3 but of course I'd rather not add more dependencies on python2. Luckily it will build without any python binaries so I've just gone ahead and removed python from native-inputs. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted