serge-sans-paille / pythran

Ahead of Time compiler for numeric kernels
https://pythran.readthedocs.io
BSD 3-Clause "New" or "Revised" License
2.01k stars 193 forks source link

default conda binary does not compile test #1904

Closed ogauthe closed 2 years ago

ogauthe commented 3 years ago

Hello,

I tried pythran for the first time, following the user manual. I installed it with conda install pythran and tried compiling dprod.py. I got an error

(base) [gauthe@gtppc68 pythran]$ pythran dprod.py -I/usr/include/cblas
/tmp/tmp4nxlbttd/source.c:1:10: fatal error: cblas.h: No such file or directory
 #include <cblas.h>
          ^~~~~~~~~
compilation terminated.
WARNING: Compilation error, trying hard to find its origin...
WARNING: Nop, I'm going to flood you with C++ errors!
CRITICAL: Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "/home/gauthe/miniconda3/bin/x86_64-conda-linux-gnu-c++ -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/gauthe/miniconda3/include -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_BLAS -I/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran -I/usr/include/cblas -I/home/gauthe/miniconda3/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include -I/usr/include -I/home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include/python3.9 -c /tmp/tmpsffskhbe.cpp -o /tmp/tmp7yeak4oy/tmp/tmpsffskhbe.o -std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include" failed with exit status 1

Still, /usr/include/cblas/cblas.h exists and I am able to compile and execute check_cblas.cpp

#include <iostream>
#include <cblas.h>

int main(int argc, char** argv) {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

with g++ check_cblas.cpp -I/usr/include/cblas -o main

My ~/.pythranrc is empty. This looks similar to #1798, however here the compilation does not occur.

EDIT: tried pythran, not blas

serge-sans-paille commented 3 years ago

Can you share the output of pythran dprod.py -v ?

ogauthe commented 3 years ago

Here we go

INFO:      sys file exists: /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythran.cfg
INFO: platform file exists: /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythran-linux.cfg
WARNING:     user file does not exist: /home/gauthe/.pythranrc
INFO: pythranrc section [pythran] is valid and options are correct
INFO: pythranrc section [typing] is valid and options are correct
INFO: pythranrc section [compiler] is valid and options are correct
/tmp/tmpjbd4rpmc/source.c:1:10: fatal error: cblas.h: No such file or directory
 #include <cblas.h>
          ^~~~~~~~~
compilation terminated.
running build_ext
new_compiler returns <class 'distutils.unixccompiler.UnixCCompiler'>
building 'dprod' extension
C compiler: /home/gauthe/miniconda3/bin/x86_64-conda-linux-gnu-c++ -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/gauthe/miniconda3/include -fPIC

creating /tmp/tmp0qfumdog/tmp
compile options: '-DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_BLAS -I/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran -I/home/gauthe/miniconda3/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include -I/usr/include -I/home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include/python3.9 -c'
extra options: '-std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include'
x86_64-conda-linux-gnu-c++: /tmp/tmpzzb5wffg.cpp
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:46:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:45,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/usr/include/bits/mathdef.h:19:3: error: #error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
 # error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
   ^~~~~
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:70:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:45,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/usr/include/bits/mathcalls.h:62:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (cos,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:64:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (sin,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:79:22: error: 'sincos' has not been declared
 __MATHDECL_VEC (void,sincos,,
                      ^~~~~~
/usr/include/bits/mathcalls.h:79:29: error: expected identifier before ',' token
 __MATHDECL_VEC (void,sincos,,
                             ^
/usr/include/bits/mathcalls.h:80:3: error: expected identifier before '(' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
   ^
/usr/include/bits/mathcalls.h:80:57: error: expected constructor, destructor, or type conversion before ';' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
                                                         ^
/usr/include/bits/mathcalls.h:95:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:104:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:140:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
                ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:89:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:45,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/usr/include/bits/mathcalls.h:62:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (cos,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:64:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (sin,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:79:22: error: 'sincos' has not been declared
 __MATHDECL_VEC (void,sincos,,
                      ^~~~~~
/usr/include/bits/mathcalls.h:79:29: error: expected identifier before ',' token
 __MATHDECL_VEC (void,sincos,,
                             ^
/usr/include/bits/mathcalls.h:80:3: error: expected identifier before '(' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
   ^
/usr/include/bits/mathcalls.h:80:57: error: expected constructor, destructor, or type conversion before ';' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
                                                         ^
/usr/include/bits/mathcalls.h:95:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:104:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:140:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
                ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/math.h:133:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:45,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/usr/include/bits/mathcalls.h:62:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (cos,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:64:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (sin,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:79:22: error: 'sincos' has not been declared
 __MATHDECL_VEC (void,sincos,,
                      ^~~~~~
/usr/include/bits/mathcalls.h:79:29: error: expected identifier before ',' token
 __MATHDECL_VEC (void,sincos,,
                             ^
/usr/include/bits/mathcalls.h:80:3: error: expected identifier before '(' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
   ^
/usr/include/bits/mathcalls.h:80:57: error: expected constructor, destructor, or type conversion before ';' token
   (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
                                                         ^
/usr/include/bits/mathcalls.h:95:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (exp,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:104:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (log,, (_Mdouble_ __x));
                ^
/usr/include/bits/mathcalls.h:140:16: error: expected constructor, destructor, or type conversion before '(' token
 __MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
                ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:95:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:101:5: error: 'div_t' does not name a type; did you mean 'size_t'?
   } div_t;
     ^~~~~
     size_t
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:112:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:121:5: error: 'lldiv_t' does not name a type; did you mean 'ldiv_t'?
   } lldiv_t;
     ^~~~~~~
     ldiv_t
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:123:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:142:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:152:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:159:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:167:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:178:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:190:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:217:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:235:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/xlocale.h:39:14: error: expected constructor, destructor, or type conversion before ';' token
 } *__locale_t;
              ^
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/xlocale.h:42:9: error: '__locale_t' does not name a type; did you mean '__scalbl'?
 typedef __locale_t locale_t;
         ^~~~~~~~~~
         __scalbl
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:241:6: error: '__locale_t' has not been declared
      __locale_t __loc) __THROW __nonnull ((1, 4));
      ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:241:32: error: nonnull argument references non-pointer operand (argument 2, operand 4)
      __locale_t __loc) __THROW __nonnull ((1, 4));
                                ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:245:21: error: '__locale_t' has not been declared
         int __base, __locale_t __loc)
                     ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:246:14: error: nonnull argument references non-pointer operand (argument 2, operand 4)
      __THROW __nonnull ((1, 4));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:251:5: error: '__locale_t' has not been declared
     __locale_t __loc)
     ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:252:14: error: nonnull argument references non-pointer operand (argument 2, operand 4)
      __THROW __nonnull ((1, 4));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:257:20: error: '__locale_t' has not been declared
        int __base, __locale_t __loc)
                    ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:258:14: error: nonnull argument references non-pointer operand (argument 2, operand 4)
      __THROW __nonnull ((1, 4));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:261:32: error: '__locale_t' has not been declared
    char **__restrict __endptr, __locale_t __loc)
                                ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:262:14: error: nonnull argument references non-pointer operand (argument 2, operand 3)
      __THROW __nonnull ((1, 3));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:265:38: error: '__locale_t' has not been declared
          char **__restrict __endptr, __locale_t __loc)
                                      ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:266:14: error: nonnull argument references non-pointer operand (argument 2, operand 3)
      __THROW __nonnull ((1, 3));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:270:10: error: '__locale_t' has not been declared
          __locale_t __loc)
          ^~~~~~~~~~
In file included from /usr/include/features.h:450:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/os_defines.h:39,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/x86_64-conda-linux-gnu/bits/c++config.h:533,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/type_traits:38,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/assignable.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:24,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:271:14: error: nonnull argument references non-pointer operand (argument 2, operand 3)
      __THROW __nonnull ((1, 3));
              ^
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:276:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h: In function 'long int atol(const char*)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:285:10: error: 'strtol' was not declared in this scope
   return strtol (__nptr, (char **) NULL, 10);
          ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:285:10: note: suggested alternative: 'strtoul'
   return strtol (__nptr, (char **) NULL, 10);
          ^~~~~~
          strtoul
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h: At global scope:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:287:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:296:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:372:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:377:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:463:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:469:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:483:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:512:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:529:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:538:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:550:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:557:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:564:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:711:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:717:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:751:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:772:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:780:1: error: '__BEGIN_NAMESPACE_STD' does not name a type; did you mean '__BEGIN_DECLS'?
 __BEGIN_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~~~
 __BEGIN_DECLS
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:788:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:795:1: error: '__END_NAMESPACE_C99' does not name a type; did you mean '_GLIBCXX_END_NAMESPACE_LDBL'?
 __END_NAMESPACE_C99
 ^~~~~~~~~~~~~~~~~~~
 _GLIBCXX_END_NAMESPACE_LDBL
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:876:1: error: '__END_NAMESPACE_STD' does not name a type
 __END_NAMESPACE_STD
 ^~~~~~~~~~~~~~~~~~~
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:951:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/std_abs.h:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:47,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/usr/include/bits/stdlib-float.h: In function 'double atof(const char*)':
/usr/include/bits/stdlib-float.h:27:10: error: 'strtod' was not declared in this scope
   return strtod (__nptr, (char **) NULL);
          ^~~~~~
/usr/include/bits/stdlib-float.h:27:10: note: suggested alternative: 'strtold'
   return strtod (__nptr, (char **) NULL);
          ^~~~~~
          strtold
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:44:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath: At global scope:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:180:11: error: '::cos' has not been declared
   using ::cos;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:218:11: error: '::exp' has not been declared
   using ::exp;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:334:11: error: '::log' has not been declared
   using ::log;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:384:11: error: '::pow' has not been declared
   using ::pow;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:421:11: error: '::sin' has not been declared
   using ::sin;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:1080:11: error: '::double_t' has not been declared
   using ::double_t;
           ^~~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cmath:1081:11: error: '::float_t' has not been declared
   using ::float_t;
           ^~~~~~~
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/ext/string_conversions.h:41:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6361,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/string:52,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/locale_classes.h:40,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/ios_base.h:41,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/ios:42,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/istream:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/sstream:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:45,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:127:11: error: '::div_t' has not been declared
   using ::div_t;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:130:11: error: '::abort' has not been declared
   using ::abort;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:143:11: error: '::bsearch' has not been declared
   using ::bsearch;
           ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:145:11: error: '::div' has not been declared
   using ::div;
           ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:146:11: error: '::exit' has not been declared
   using ::exit;
           ^~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:148:11: error: '::getenv' has not been declared
   using ::getenv;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:151:11: error: '::malloc' has not been declared
   using ::malloc;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:153:11: error: '::mblen' has not been declared
   using ::mblen;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:163:11: error: '::rand' has not been declared
   using ::rand;
           ^~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:164:11: error: '::realloc' has not been declared
   using ::realloc;
           ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:166:11: error: '::strtod' has not been declared
   using ::strtod;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:167:11: error: '::strtol' has not been declared
   using ::strtol;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:169:11: error: '::system' has not been declared
   using ::system;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:200:11: error: '::lldiv_t' has not been declared
   using ::lldiv_t;
           ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:206:11: error: '::_Exit' has not been declared
   using ::_Exit;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:210:11: error: '::llabs' has not been declared
   using ::llabs;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:212:10: error: 'lldiv_t' does not name a type; did you mean 'ldiv_t'?
   inline lldiv_t
          ^~~~~~~
          ldiv_t
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:216:11: error: '::lldiv' has not been declared
   using ::lldiv;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:227:11: error: '::atoll' has not been declared
   using ::atoll;
           ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:228:11: error: '::strtoll' has not been declared
   using ::strtoll;
           ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:231:11: error: '::strtof' has not been declared
   using ::strtof;
           ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:240:22: error: '__gnu_cxx::lldiv_t' has not been declared
   using ::__gnu_cxx::lldiv_t;
                      ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:242:22: error: '__gnu_cxx::_Exit' has not been declared
   using ::__gnu_cxx::_Exit;
                      ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:244:22: error: '__gnu_cxx::llabs' has not been declared
   using ::__gnu_cxx::llabs;
                      ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:245:22: error: '__gnu_cxx::div' has not been declared
   using ::__gnu_cxx::div;
                      ^~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:246:22: error: '__gnu_cxx::lldiv' has not been declared
   using ::__gnu_cxx::lldiv;
                      ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:248:22: error: '__gnu_cxx::atoll' has not been declared
   using ::__gnu_cxx::atoll;
                      ^~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:249:22: error: '__gnu_cxx::strtof' has not been declared
   using ::__gnu_cxx::strtof;
                      ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/cstdlib:250:22: error: '__gnu_cxx::strtoll' has not been declared
   using ::__gnu_cxx::strtoll;
                      ^~~~~~~
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/string:52:0,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/locale_classes.h:40,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/ios_base.h:41,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/ios:42,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/istream:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/sstream:38,
                 from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/complex:45,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/traits.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/combined.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:25,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h: In function 'int std::__cxx11::stoi(const string&, std::size_t*, int)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6372:47: error: 'strtol' is not a member of 'std'
   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
                                               ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6372:47: note: suggested alternative: 'sqrt'
   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
                                               ^~~~~~
                                               sqrt
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h: In function 'long int std::__cxx11::stol(const string&, std::size_t*, int)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6377:36: error: 'strtol' is not a member of 'std'
   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
                                    ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6377:36: note: suggested alternative: 'sqrt'
   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
                                    ^~~~~~
                                    sqrt
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const string&, std::size_t*, int)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6387:36: error: 'strtoll' is not a member of 'std'
   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
                                    ^~~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h: In function 'float std::__cxx11::stof(const string&, std::size_t*)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6398:36: error: 'strtof' is not a member of 'std'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                    ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6398:36: note: suggested alternative: 'sqrt'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                    ^~~~~~
                                    sqrt
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h: In function 'double std::__cxx11::stod(const string&, std::size_t*)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6402:36: error: 'strtod' is not a member of 'std'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                    ^~~~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/basic_string.h:6402:36: note: suggested alternative: 'sqrt'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                    ^~~~~~
                                    sqrt
In file included from /home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/algorithm:62:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/types/tuple.hpp:12,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/include/builtins/bool_.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:4,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/stl_algo.h: In function 'void std::random_shuffle(_RAIter, _RAIter)':
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/stl_algo.h:4580:13: error: 'rand' is not a member of 'std'
      + std::rand() % ((__i - __first) + 1);
             ^~~~
/home/gauthe/miniconda3/x86_64-conda-linux-gnu/include/c++/7.5.0/bits/stl_algo.h:4580:13: note: suggested alternative: 'rend'
      + std::rand() % ((__i - __first) + 1);
             ^~~~
             rend
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/exceptions.hpp:6:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/ValueError.hpp:6,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:10,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp: In member function '{anonymous}::pythonic::types::str::operator long int() const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:329:16: error: 'strtol' was not declared in this scope
     long res = strtol(dat, &endptr, 10);
                ^~~~~~
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:329:16: note: suggested alternative: 'strtok'
     long res = strtol(dat, &endptr, 10);
                ^~~~~~
                strtok
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp: In member function '{anonymous}::pythonic::types::str::operator float() const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:342:17: error: 'strtof' was not declared in this scope
     float res = strtof(dat, &endptr);
                 ^~~~~~
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:342:17: note: suggested alternative: 'strtok'
     float res = strtof(dat, &endptr);
                 ^~~~~~
                 strtok
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp: In member function '{anonymous}::pythonic::types::str::operator double() const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:355:18: error: 'strtod' was not declared in this scope
     double res = strtod(dat, &endptr);
                  ^~~~~~
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/str.hpp:355:18: note: suggested alternative: 'strtok'
     double res = strtod(dat, &endptr);
                  ^~~~~~
                  strtok
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:21:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/raw_array.hpp: In constructor '{anonymous}::pythonic::types::raw_array<T>::raw_array(size_t)':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/raw_array.hpp:22:19: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
       : data((T *)malloc(n * sizeof(T))), external(false)
                   ^~~~~~
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/raw_array.hpp:22:19: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:39:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_expr.hpp: In member function 'typename std::enable_if<(({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value) && (! {anonymous}::pythonic::types::is_pod_array<F>::value)), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::numpy_expr<O, Args>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::numpy_expr<O, Args>::fast(const F&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_expr.hpp:314:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:40:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_texpr.hpp: In member function 'typename std::enable_if<((({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value) && (F:: value == 1)) && (! {anonymous}::pythonic::types::is_pod_array<F>::value)), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::numpy_texpr_2<A>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::numpy_texpr_2<A>::fast(const F&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_texpr.hpp:149:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:41:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_iexpr.hpp: In member function 'typename std::enable_if<({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::numpy_iexpr<A>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::numpy_iexpr<A>::fast(const F&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_iexpr.hpp:309:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:42:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_gexpr.hpp: In member function 'typename std::enable_if<({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::numpy_gexpr<A, S>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::numpy_gexpr<A, S>::fast(const F&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_gexpr.hpp:723:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:43:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_vexpr.hpp: In member function 'typename std::enable_if<(({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value) && (! {anonymous}::pythonic::types::is_pod_array<F>::value)), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::numpy_vexpr<A, F>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::numpy_vexpr<A, F>::fast(const E&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/numpy_vexpr.hpp:99:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
In file included from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/tuple.hpp:13:0,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/builtins/bool_.hpp:7,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/NoneType.hpp:8,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/slice.hpp:5,
                 from /home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/core.hpp:29,
                 from /tmp/tmpzzb5wffg.cpp:1:
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp: In member function 'typename std::enable_if<((({anonymous}::pythonic::types::is_numexpr_arg<F>::value && std::is_same<bool, typename F::dtype>::value) && (F:: value == 1)) && (! {anonymous}::pythonic::types::is_pod_array<F>::value)), {anonymous}::pythonic::types::numpy_vexpr<{anonymous}::pythonic::types::ndarray<T, pS>, {anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int> > > >::type {anonymous}::pythonic::types::ndarray<T, pS>::fast(const F&) const':
/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran/pythonic/types/ndarray.hpp:768:25: error: there are no arguments to 'malloc' that depend on a template parameter, so a declaration of 'malloc' must be available [-fpermissive]
     long *raw = (long *)malloc(sz * sizeof(long));
                         ^~~~~~
WARNING: Compilation error, trying hard to find its origin...
WARNING: Nop, I'm going to flood you with C++ errors!
CRITICAL: Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "/home/gauthe/miniconda3/bin/x86_64-conda-linux-gnu-c++ -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/gauthe/miniconda3/include -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_BLAS -I/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran -I/home/gauthe/miniconda3/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include -I/usr/include -I/home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include/python3.9 -c /tmp/tmpzzb5wffg.cpp -o /tmp/tmp0qfumdog/tmp/tmpzzb5wffg.o -std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include" failed with exit status 1
serge-sans-paille commented 3 years ago

Thanks. The blas issue is just a numpy stuff that should not be printed on standard output, we can ignore it. This looks like a gcc error unrelated to pythran. Can you test the following:

echo "#include <complex>" | g++ -std=c++17 -x c++ - -c -o/dev/null
ogauthe commented 3 years ago

echo "#include <complex>" | g++ -std=c++17 -x c++ - -c -o/dev/null executes without error.

serge-sans-paille commented 3 years ago

And what about

echo "#include <complex>" | g++ -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_BLAS -I/home/gauthe/miniconda3/lib/python3.9/site-packages/pythran -I/home/gauthe/miniconda3/lib/python3.9/site-packages/numpy/core/include -I/usr/local/include -I/usr/include -I/home/gauthe/miniconda3/include -I/home/gauthe/miniconda3/include/python3.9 -std=c++11 -fno-math-errno -w -fvisibility=hidden -fno-wrapv -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/gauthe/miniconda3/include" -x c++ - -c -o/dev/null
ogauthe commented 3 years ago

Still fine. It seems everything is fine with my compiler and the provided flags. I understand that cblas is not the problem (same as #1798), so at this end I get no clear error message but dprod.so is not created.

As a sanity check I reinstalled the pythran conda package, it makes no change. However, if I install pythran from conda-forge, with conda install -c conda-forge pythran then everything is fine. So I think this is a problem with the conda default binary.

serge-sans-paille commented 3 years ago

@ogauthe If I understand correctly, we can close that one, right?

ogauthe commented 3 years ago

@serge-sans-paille yes, this looks indeed like a problem coming from the conda official binary and not from the package itself.

serge-sans-paille commented 2 years ago

ok, closing the issue then ;-)