Prophet - install and compile error missing binary operator before token "("

44 Views Asked by At

I need to install Prophet for my application. The application is in a docker container. I want to create the smallest image possible, so the system in the container is python:3.10-alpine. Unfortunately, during installation I get a compilation error that I cannot resolve.

 ar: creating stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_idas.a
      g++ -E -x c++ ../tbb_2020.3/src/tbbmalloc/lin64-tbbmalloc-export.def -O2 -g -DDO_ITT_NOTIFY -DUSE_PTHREAD -pthread -m64 -mrtm  -Wall -Wextra -Wno-unknown-warning-option -Wno-deprecated-copy -Wno-missing-attributes -Wno-class-memaccess -Wno-sized-deallocation   -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1  -fno-rtti -fno-exceptions -D__TBBMALLOC_BUILD=1  -Wno-parentheses -Wno-sized-deallocation -I../tbb_2020.3/src -I../tbb_2020.3/src/rml/include -I../tbb_2020.3/include > tbbmalloc.def
      g++ -c -MMD -O2 -g -DDO_ITT_NOTIFY -DUSE_PTHREAD -pthread -m64 -mrtm  -Wall -Wextra -Wno-unknown-warning-option -Wno-deprecated-copy -Wno-missing-attributes -Wno-class-memaccess -Wno-sized-deallocation   -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1  -Wno-parentheses -Wno-sized-deallocation -fPIC -flifetime-dse=1 -D__TBBMALLOC_BUILD=1 -I../tbb_2020.3/src -I../tbb_2020.3/src/rml/include -I../tbb_2020.3/include -I../tbb_2020.3/src/tbbmalloc -I../tbb_2020.3/src/tbbmalloc ../tbb_2020.3/src/tbbmalloc/proxy.cpp
      ../tbb_2020.3/src/tbbmalloc/proxy.cpp:27:47: error: missing binary operator before token "("
         27 | #if defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
            |                                               ^
      ../tbb_2020.3/src/tbbmalloc/proxy.cpp:284:26: error: return type 'struct mallinfo' is incomplete
        284 | struct mallinfo mallinfo() __THROW
            |                          ^
      ../tbb_2020.3/src/tbbmalloc/proxy.cpp: In function 'void mallinfo()':
      ../tbb_2020.3/src/tbbmalloc/proxy.cpp:286:21: error: aggregate 'mallinfo m' has incomplete type and cannot be defined
        286 |     struct mallinfo m;
            |                     ^
      ../tbb_2020.3/src/tbbmalloc/proxy.cpp:287:19: error: invalid application of 'sizeof' to incomplete type 'mallinfo'
        287 |     memset(&m, 0, sizeof(struct mallinfo));
            |                   ^~~~~~~~~~~~~~~~~~~~~~~
      At global scope:
      cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics
      make[1]: *** [/tmp/pip-install-jf3o2a3a/prophet_c54e905a8b5d42f0b8c091eece4f260f/build/lib.linux-x86_64-cpython-310/prophet/stan_model/cmdstan-2.33.1/stan/lib/stan_math/lib/tbb_2020.3/build/Makefile.tbbmalloc:62: proxy.o] Error 1
      make[1]: *** Waiting for unfinished jobs....
      make[1]: Leaving directory '/tmp/pip-install-jf3o2a3a/prophet_c54e905a8b5d42f0b8c091eece4f260f/build/lib.linux-x86_64-cpython-310/prophet/stan_model/cmdstan-2.33.1/stan/lib/stan_math/lib/tbb'
      make: *** [stan/lib/stan_math/make/libraries:173: stan/lib/stan_math/lib/tbb/tbbmalloc.def] Error 2
      make: *** Waiting for unfinished jobs....
      In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/multi_array/multi_array_ref.hpp:32,
                       from stan/lib/stan_math/lib/boost_1.78.0/boost/multi_array.hpp:34,
                       from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/algebra/multi_array_algebra.hpp:22,
                       from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:63,
                       from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9,
                       from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6,
                       from stan/lib/stan_math/stan/math/prim/functor.hpp:16,
                       from stan/lib/stan_math/stan/math/prim.hpp:15,
                       from stan/src/stan/io/dump.hpp:7,
                       from src/cmdstan/command_helper.hpp:20,
                       from src/cmdstan/command.hpp:14,
                       from src/cmdstan/main.cpp:1:
      stan/lib/stan_math/lib/boost_1.78.0/boost/functional.hpp:180:45: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
        180 |         : public boost::functional::detail::unary_function<typename unary_traits<Predicate>::argument_type,bool>
            |                                             ^~~~~~~~~~~~~~
      In file included from /usr/include/c++/13.2.1/string:49,
                       from /usr/include/c++/13.2.1/bits/locale_classes.h:40,
                       from /usr/include/c++/13.2.1/bits/ios_base.h:41,
                       from /usr/include/c++/13.2.1/ios:44,
                       from /usr/include/c++/13.2.1/istream:40,
                       from /usr/include/c++/13.2.1/sstream:40,
                       from /usr/include/c++/13.2.1/complex:45,
                       from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50,
                       from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1,
                       from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22,
                       from stan/src/stan/callbacks/writer.hpp:4,
                       from src/cmdstan/arguments/argument.hpp:4,
                       from src/cmdstan/arguments/categorical_argument.hpp:4,
                       from src/cmdstan/arguments/arg_data.hpp:4,
                       from src/cmdstan/command.hpp:4:
      /usr/include/c++/13.2.1/bits/stl_function.h:117:12: note: declared here
        117 |     struct unary_function
            |            ^~~~~~~~~~~~~~
      stan/lib/stan_math/lib/boost_1.78.0/boost/functional.hpp:214:45: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
        214 |         : public boost::functional::detail::binary_function<
            |                                             ^~~~~~~~~~~~~~~
      /usr/include/c++/13.2.1/bits/stl_function.h:131:12: note: declared here
        131 |     struct binary_function
            |            ^~~~~~~~~~~~~~~
      stan/lib/stan_math/lib/boost_1.78.0/boost/functional.hpp:252:45: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
        252 |         : public boost::functional::detail::unary_function<
            |                                             ^~~~~~~~~~~~~~
      /usr/include/c++/13.2.1/bits/stl_function.h:117:12: note: declared here
        117 |     struct unary_function
            |            ^~~~~~~~~~~~~~
      stan/lib/stan_math/lib/boost_1.78.0/boost/functional.hpp:299:45: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
        299 |         : public boost::functional::detail::unary_function<
            |                                             ^~~~~~~~~~~~~~
      /usr/include/c++/13.2.1/bits/stl_function.h:117:12: note: declared here
        117 |     struct unary_function
            |            ^~~~~~~~~~~~~~
      stan/lib/stan_math/lib/boost_1.78.0/boost/functional.hpp:345:57: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
        345 |     class mem_fun_t : public boost::functional::detail::unary_function<T*, S>
            |                                                         ^~~~~~~~~~~~~~
      /usr/include/c++/13.2.1/bits/stl_function.h:117:12: note: declared here
        117 |     struct unary_function
            |            ^~~~~~~~~~~~~~

I need to install prophet on Alpina. I tried various solutions and adding libraries, but it didn't help.

0

There are 0 best solutions below