Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with indexing of a 4d ndarray #1947

Open
flothesof opened this issue Dec 13, 2021 · 12 comments
Open

Issue with indexing of a 4d ndarray #1947

flothesof opened this issue Dec 13, 2021 · 12 comments

Comments

@flothesof
Copy link
Contributor

Hi there,

I’m trying to benchmark pythran for my use case but can’t get it to compile my function below.

import numpy as np

#pythran export assemble_mass_and_stiffness(int, float [3,3,3,3], float [])
def assemble_mass_and_stiffness(N, cijkl, geom_params):
    N_triplets = (N + 1) * (N + 2) * (N + 3) // 6
    triplets = np.zeros((N_triplets, 3), dtype=np.int64)
    i = 0
    for p in range(N + 1):
        for q in range(N - p + 1):
            for r in range(N - p - q + 1):
                triplets[i, :] = p, q, r
                i += 1

    quadruplets = np.zeros((3 * N_triplets, 4), dtype=np.int64)
    j = 0
    for i in range(3):
        for triplet in triplets:
            quadruplets[j, :] = np.array([i, triplet[0], triplet[1], triplet[2]])
            j += 1
    M = quadruplets.shape[0]
    E = np.zeros((M, M), dtype=np.float64)
    G = np.zeros((M, M), dtype=np.float64)
    for index1 in range(M):
        I, p1, q1, r1 = quadruplets[index1, :]
        for index2 in range(index1, M):
            J, p2, q2, r2 = quadruplets[index2, :]
            G[index1, index2] = cijkl[I, 1 - 1, J, 1 - 1] * p1 * p2
    return quadruplets, E, G

After doing some tests, it appears that the failing line is

G[index1, index2] = cijkl[I, 1 - 1, J, 1 - 1] * p1 * p2

What the line is doing is that it’s trying to access some items of a constant 4d array and compute something with it.

I’ve tried to compile the function with pythran -v but am unable to understand what trips up the compilation.

The log looks like this

INFO:      sys file exists: C:\Anaconda3\envs\pyrus_dev\lib\site-packages\pythran\pythran.cfg
INFO: platform file exists: C:\Anaconda3\envs\pyrus_dev\lib\site-packages\pythran\pythran-win32.cfg
WARNING:     user file does not exist: C:\Users\FL232714\.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
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
C:\Users\FL232714\AppData\Local\Temp\tmpj5vgl3c8.cpp(174,22): error: no viable overloaded operator[] for type '(anonymous namespace)::pythonic::types::ndarray<double,
      (anonymous namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>, std::integral_constant<long, 3>, std::integral_constant<long, 3>>>'
    typedef decltype(std::declval<__type101>()[std::declval<__type111>()]) __type112;
                     ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\FL232714\AppData\Local\Temp\tmpj5vgl3c8.cpp(263,97): note: in instantiation of function template specialization '__pythran_impl_pythran::assemble_mass_and_stiffness::operator()<long &,
      (anonymous namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>>> &, (anonymous namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<long>> &>' requested here
                                auto res = __pythran_impl_pythran::assemble_mass_and_stiffness()(N, cijkl, geom_params);
                                                                                                ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(427,5): note: candidate function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to
      '(anonymous namespace)::pythonic::types::none_type' for 1st argument
    operator[](none_type) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(432,5): note: candidate template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
    operator[](S const &s) const &;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(437,9): note: candidate template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
        operator[](S const &s) &&
        ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(481,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(497,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(505,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(515,10): note: candidate function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) const & -> decltype(this->fast(i))
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(523,10): note: candidate function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) && -> decltype(std::move(*this).fast(i))
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(533,5): note: candidate template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(537,5): note: candidate template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices);
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(540,10): note: candidate template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const & ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(545,14): note: candidate template ignored: could not match 'array_base' against 'tuple'
        auto operator[](array<Ty, M> const &indices) &&
             ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(551,10): note: candidate template ignored: deduced type 'const tuple<[...], (no argument), (no argument), (no argument)>' of 1st
      parameter does not match adjusted type 'tuple<[...], long, long long, long>' of argument [with Ty = long long]
    auto operator[](std::tuple<Ty> const &indices) const
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(558,10): note: candidate template ignored: substitution failure [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]: cannot cast
      'const std::tuple<long, long long, long>' to its private base class 'const std::tuple<long>'
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(584,10): note: candidate template ignored: requirement 'is_numexpr_arg<long long>::value' was not satisfied
      [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(592,10): note: candidate template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(598,10): note: candidate template ignored: could not match 'dynamic_tuple' against 'tuple'
    auto operator[](dynamic_tuple<S> const &indices) const
         ^
C:\Users\FL232714\AppData\Local\Temp\tmpj5vgl3c8.cpp(247,117): error: no viable overloaded operator[] for type '(anonymous namespace)::pythonic::types::ndarray<double,
      (anonymous namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>, std::integral_constant<long, 3>, std::integral_constant<long, 3>>>'
            G.fast(pythonic::types::make_tuple(index1, index2)) = pythonic::operator_::mul(pythonic::operator_::mul(cijkl[pythonic::types::make_tuple(I, 0L, std::get<0>(__tuple1), 0L)], p1), std::get<1>(__tuple1));
                                                                                                                    ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(427,5): note: candidate function not viable: no known conversion from 'decltype(_make_tuple<alike<long long &, long, long long &, long>::value,
      long long &, long, long long &, long>()(std::forward<long long &>(types), std::forward<long>(types), std::forward<long long &>(types), std::forward<long>(types)))' (aka 'tuple<long long, long, long long, long>') to
      '(anonymous namespace)::pythonic::types::none_type' for 1st argument
    operator[](none_type) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(432,5): note: candidate template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
    operator[](S const &s) const &;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(437,9): note: candidate function template not viable: expects an rvalue for object argument
        operator[](S const &s) &&
        ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(481,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(497,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(505,5): note: candidate template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named 'dtype'
      in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(515,10): note: candidate function not viable: no known conversion from 'decltype(_make_tuple<alike<long long &, long, long long &,
      long>::value, long long &, long, long long &, long>()(std::forward<long long &>(types), std::forward<long>(types), std::forward<long long &>(types), std::forward<long>(types)))' (aka 'tuple<long long, long, long long, long>')
      to 'long' for 1st argument
    auto operator[](long i) const & -> decltype(this->fast(i))
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(523,10): note: candidate function not viable: expects an rvalue for object argument
    auto operator[](long i) && -> decltype(std::move(*this).fast(i))
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(533,5): note: candidate template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices) const;
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(537,5): note: candidate template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices);
    ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(540,10): note: candidate template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const & ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(545,14): note: candidate template ignored: could not match 'array_base' against 'tuple'
        auto operator[](array<Ty, M> const &indices) &&
             ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(551,10): note: candidate template ignored: deduced type 'const tuple<[...], (no argument), (no argument), (no argument)>' of 1st
      parameter does not match adjusted type 'tuple<[...], _Unrefwrap_t<long>, _Unrefwrap_t<long long &>, _Unrefwrap_t<long>>' of argument [with Ty = long long]
    auto operator[](std::tuple<Ty> const &indices) const
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(558,10): note: candidate template ignored: substitution failure [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]: cannot cast
      'const std::tuple<long, long long, long>' to its private base class 'const std::tuple<long>'
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(584,10): note: candidate template ignored: requirement 'is_numexpr_arg<long long>::value' was not satisfied
      [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(592,10): note: candidate template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const
         ^
C:\Anaconda3\envs\pyrus_dev\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(598,10): note: candidate template ignored: could not match 'dynamic_tuple' against 'tuple'
    auto operator[](dynamic_tuple<S> const &indices) const
         ^
2 errors generated.
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 "C:\Anaconda3\envs\pyrus_dev\Library\bin\clang-cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_OPENBLAS -IC:/Anaconda3/envs/pyrus_dev/Library/include -IC:\Anaconda3\
envs\pyrus_dev\lib\site-packages/pythran -IC:\Anaconda3\envs\pyrus_dev\lib\site-packages\numpy\core\include -IC:\Anaconda3\envs\pyrus_dev\lib\site-packages\pythran_openblas\include\openblas -IC:\Anaconda3\envs\pyrus_dev\include -IC:
\Anaconda3\envs\pyrus_dev\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um -IC:\Program Files (x86)\Windows Ki
ts\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winr
t -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /EHsc /TpC:\Users\FL232714\AppData\Local\Temp\tmpj5vgl3c8.cpp /FoC:\Users\FL232714\AppData\Local\Temp\tmpg5ebw5j_\Release\Users\FL232714\AppData\Local\Temp\tmp
j5vgl3c8.obj /std:c++14 /w" failed with exit status 1

Any pointers as to what I could try to get this going?
Thank you!
Florian

@flothesof
Copy link
Contributor Author

flothesof commented Dec 13, 2021

After some additional testing, it seems this is related to int types under Windows, which the doc warns about in the limitations (see #1916).

Apparently, I can get a different version of this kernel to work if I use different types of integer:

  • dtype=int works
  • dtype=np.int32 doesn’t work
  • dtype=np.int64 doesn’t work

Very confusing :(

It could be worthwhile to add some error messages about integers on windows since this seems to be kind of a known issue?

@serge-sans-paille
Copy link
Owner

Thanks for reducing the issue. This is indeed confusing, I'll propose a patch. If you spot any performance issue during your benchmarks, please open issues as well ;-)

@serge-sans-paille
Copy link
Owner

Can you confirm that if you change

cijkl[I, 1 - 1, J, 1 - 1]

into

cijkl[int(I), 1 - 1, int(J), 1 - 1]

this fixes the issue?

@flothesof
Copy link
Contributor Author

Hi Serge,
I can confirm adding the cast to int fixes the issue.
Thanks for looking into it.
Cheers,
Florian

@serge-sans-paille
Copy link
Owner

@flothesof I believe your issue is now fixed on master branch. Can you confirm?

@flothesof
Copy link
Contributor Author

Hi @serge-sans-paille
thank you for looking into it.
I can't promise anything but I'll try next week and hope to report back here.
Cheers
Florian

@flothesof
Copy link
Contributor Author

Hi @serge-sans-paille ,
I’ve tried to confirm your changes in master branch work on the original machine I tested on.
However, I was not able to confirm, due to not being able to correctly install from sources on windows.
Here’s what I did:

  • git clone the sources and make sure that commit 36b86e2 was in the log
  • create a conda environment in which to install the sources
  • pip install -e .[doc] in the environment
  • pip install pytest
  • python setup.py test

I then get output like the following:

running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
package init file 'pythran/pythonic\__init__.py' not found (or not a regular file)
writing manifest file 'pythran.egg-info\SOURCES.txt'
running build_ext
Disabling color, you really want to install colorlog.
INFO: Disabling color, you really want to install colorlog.
Disabling color, you really want to install colorlog.
Pythran support for package 'omp' will be reduced: this module is not available at runtime.
INFO: Pythran support for package 'omp' will be reduced: this module is not available at runtime.
Pythran support for package 'omp' will be reduced: this module is not available at runtime.
No pythran specification, nothing will be exported
No pythran specification, nothing will be exported
No pythran specification, nothing will be exported
No pythran specification, nothing will be exported
No pythran specification, nothing will be exported

I’m not sure if this is a problem or not.
However, I then tried to compile the reproducible example posted above with pythran -v and I got this:

INFO:      sys file exists: c:\users\fl232714\documents\github\pythran\pythran\pythran.cfg
INFO: platform file exists: c:\users\fl232714\documents\github\pythran\pythran\pythran-win32.cfg
WARNING:     user file does not exist: C:\Users\FL232714\.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
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
WARNING: Failed to find 'pythran-openblas' package. Please install it or change the compiler.blas setting. Defaulting to 'blas'
running build_ext
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release\Users
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release\Users\FL232714
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release\Users\FL232714\AppData
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release\Users\FL232714\AppData\Local
creating C:\Users\FL232714\AppData\Local\Temp\tmprw056ucz\Release\Users\FL232714\AppData\Local\Temp


[WinError 2] Le fichier spécifié est introuvable

Not sure what the problem is, but the point is that I don’t get my compiled binary file so I can’t confirm...

Cheers
Florian

@serge-sans-paille
Copy link
Owner

can you try pip install pythran-openblas and start again?

@flothesof
Copy link
Contributor Author

I tried another way to do it.

pip install pythran-openblas

python setup.py install

pythran -v mwe.py

Still an error:

(pythran_env) C:\Users\FL232714\Documents\GitHub\pythran\rppd>pythran -v mwe.py
INFO:      sys file exists: C:\Anaconda3\envs\pythran_env\lib\site-packages\pythran-0.11.0-py3.9.egg\pythran\pythran.cfg
INFO: platform file exists: C:\Anaconda3\envs\pythran_env\lib\site-packages\pythran-0.11.0-py3.9.egg\pythran\pythran-win32.cfg
WARNING:     user file does not exist: C:\Users\FL232714\.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
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
running build_ext
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714\AppData
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714\AppData\Local
creating C:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714\AppData\Local\Temp
WARNING: Compilation error, trying hard to find its origin...
Compilation error, trying hard to find its origin...
WARNING: Nop, I'm going to flood you with C++ errors!
Nop, I'm going to flood you with C++ errors!
CRITICAL: Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "clang-cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_OPENBLAS -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran-0.11.0-py3.9.egg/pythran -IC:\Anaconda3\envs\pythran_env\lib\site-packages\numpy\core\include -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran_openblas\include\openblas -IC:\Anaconda3\envs\pythran_env\include -IC:\Anaconda3\envs\pythran_env\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /EHsc /TpC:\Users\FL232714\AppData\Local\Temp\tmpgdgyv65i.cpp /FoC:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714\AppData\Local\Temp\tmpgdgyv65i.obj /std:c++14 /w" failed with exit status 127
Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "clang-cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_OPENBLAS -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran-0.11.0-py3.9.egg/pythran -IC:\Anaconda3\envs\pythran_env\lib\site-packages\numpy\core\include -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran_openblas\include\openblas -IC:\Anaconda3\envs\pythran_env\include -IC:\Anaconda3\envs\pythran_env\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /EHsc /TpC:\Users\FL232714\AppData\Local\Temp\tmpgdgyv65i.cpp /FoC:\Users\FL232714\AppData\Local\Temp\tmpsxn6lgaq\Release\Users\FL232714\AppData\Local\Temp\tmpgdgyv65i.obj /std:c++14 /w" failed with exit status 127


[WinError 2] Le fichier spécifié est introuvable

@flothesof
Copy link
Contributor Author

After some more tests, it turns out my installation of pythran was not working.
My recipe:

conda install -c conda-forge pythran # installs compiler stuff
python setup.py install # deps are already installed, this copies files locally

However, the fix seems not to be working:

(pythran_env) C:\Users\FL232714\Documents\GitHub\pythran\rppd>pythran -v mwe.py
INFO:      sys file exists: C:\Anaconda3\envs\pythran_env\lib\site-packages\pythran\pythran.cfg
INFO: platform file exists: C:\Anaconda3\envs\pythran_env\lib\site-packages\pythran\pythran-win32.cfg
WARNING:     user file does not exist: C:\Users\FL232714\.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
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
INFO: During constant folding, bailing out due to: module 'builtins' has no attribute 'pythran'
running build_ext
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714\AppData
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714\AppData\Local
creating C:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714\AppData\Local\Temp
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(138,24): error: no viable overloaded operator[] for type
      '(anonymous namespace)::pythonic::types::ndarray<double, (anonymous
      namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>>'
      typedef decltype(std::declval<__type118>()[std::declval<__type134>()]) __type135;
                       ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(351,54): note: in instantiation of template class
      '__pythran_mwe::assemble_mass_and_stiffness::type<long, (anonymous namespace)::pythonic::types::ndarray<double,
      (anonymous namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>>, (anonymous
      namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<long>>>' requested
      here
typename __pythran_mwe::assemble_mass_and_stiffness::type<long, pythonic::types::ndarray<double,pythonic::types:...
                                                     ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(427,5): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to '(anonymous
      namespace)::pythonic::types::none_type' for 1st argument
    operator[](none_type) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(432,5): note: candidate
      template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
    operator[](S const &s) const &;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(437,9): note: candidate
      template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
        operator[](S const &s) &&
        ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(481,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(497,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(505,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(515,10): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) const & -> decltype(this->fast(i))
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(523,10): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) && -> decltype(std::move(*this).fast(i))
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(533,5): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(537,5): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices);
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(540,10): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const & ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(545,14): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
        auto operator[](array<Ty, M> const &indices) &&
             ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(551,10): note: candidate
      template ignored: deduced type 'const tuple<[...], (no argument), (no argument), (no argument)>' of 1st
      parameter does not match adjusted type 'tuple<[...], long, long long, long>' of argument
      [with Ty = long long]
    auto operator[](std::tuple<Ty> const &indices) const
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(558,10): note: candidate
      template ignored: substitution failure [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]: cannot cast
      'const std::tuple<long, long long, long>' to its private base class 'const std::tuple<long>'
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(584,10): note: candidate
      template ignored: requirement 'is_numexpr_arg<long long>::value' was not satisfied [with Ty0 = long long, Ty1 =
      long, Tys = <long long, long>]
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(592,10): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(598,10): note: candidate
      template ignored: could not match 'dynamic_tuple' against 'tuple'
    auto operator[](dynamic_tuple<S> const &indices) const
         ^
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(138,24): error: no viable overloaded operator[] for type
      '(anonymous namespace)::pythonic::types::ndarray<double, (anonymous
      namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>>'
      typedef decltype(std::declval<__type118>()[std::declval<__type134>()]) __type135;
                       ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(164,41): note: in instantiation of template class
      '__pythran_mwe::assemble_mass_and_stiffness::type<long &, (anonymous namespace)::pythonic::types::ndarray<double,
      (anonymous namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>> &, (anonymous
      namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<long>> &>' requested
      here
  typename assemble_mass_and_stiffness::type<argument_type0, argument_type1, argument_type2>::result_type assemb...
                                        ^
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(356,88): note: while substituting deduced template arguments into
      function template 'operator()' [with argument_type0 = long &, argument_type1 = (anonymous
      namespace)::pythonic::types::ndarray<double, (anonymous
      namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>> &, argument_type2 = (anonymous
      namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<long>> &]
                                auto res = __pythran_mwe::assemble_mass_and_stiffness()(N, cijkl, geom_params);
                                                                                       ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(427,5): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to '(anonymous
      namespace)::pythonic::types::none_type' for 1st argument
    operator[](none_type) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(432,5): note: candidate
      template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
    operator[](S const &s) const &;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(437,9): note: candidate
      template ignored: requirement 'is_slice<std::tuple<long long, long, long long, long>>::value' was not satisfied
      [with S = std::tuple<long long, long, long long, long>]
        operator[](S const &s) &&
        ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(481,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(497,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(505,5): note: candidate
      template ignored: substitution failure [with F = std::tuple<long long, long, long long, long>]: no type named
      'dtype' in 'std::tuple<long long, long, long long, long>'
    operator[](F const &filter) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(515,10): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) const & -> decltype(this->fast(i))
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(523,10): note: candidate
      function not viable: no known conversion from 'std::tuple<long long, long, long long, long>' to 'long' for 1st
      argument
    auto operator[](long i) && -> decltype(std::move(*this).fast(i))
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(533,5): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices) const;
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(537,5): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    operator[](array<Ty, value> const &indices);
    ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(540,10): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const & ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(545,14): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
        auto operator[](array<Ty, M> const &indices) &&
             ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(551,10): note: candidate
      template ignored: deduced type 'const tuple<[...], (no argument), (no argument), (no argument)>' of 1st
      parameter does not match adjusted type 'tuple<[...], long, long long, long>' of argument
      [with Ty = long long]
    auto operator[](std::tuple<Ty> const &indices) const
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(558,10): note: candidate
      template ignored: substitution failure [with Ty0 = long long, Ty1 = long, Tys = <long long, long>]: cannot cast
      'const std::tuple<long, long long, long>' to its private base class 'const std::tuple<long>'
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(584,10): note: candidate
      template ignored: requirement 'is_numexpr_arg<long long>::value' was not satisfied [with Ty0 = long long, Ty1 =
      long, Tys = <long long, long>]
    auto operator[](std::tuple<Ty0, Ty1, Tys...> const &indices) const ->
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(592,10): note: candidate
      template ignored: could not match 'array_base' against 'tuple'
    auto operator[](array<Ty, M> const &indices) const
         ^
C:\Anaconda3\envs\pythran_env\lib\site-packages/pythran\pythonic\include\types\ndarray.hpp(598,10): note: candidate
      template ignored: could not match 'dynamic_tuple' against 'tuple'
    auto operator[](dynamic_tuple<S> const &indices) const
         ^
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(356,44): error: no matching function for call to object of type
      '__pythran_mwe::assemble_mass_and_stiffness'
                                auto res = __pythran_mwe::assemble_mass_and_stiffness()(N, cijkl, geom_params);
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp(164,136): note: candidate template ignored: substitution failure
      [with argument_type0 = long &, argument_type1 = (anonymous namespace)::pythonic::types::ndarray<double, (anonymous
      namespace)::pythonic::types::pshape<std::integral_constant<long, 3>, std::integral_constant<long, 3>,
      std::integral_constant<long, 3>, std::integral_constant<long, 3>>> &, argument_type2 = (anonymous
      namespace)::pythonic::types::ndarray<double, (anonymous namespace)::pythonic::types::pshape<long>> &]
  ...argument_type1, argument_type2>::result_type assemble_mass_and_stiffness::operator()(argument_type0&& N, argumen...
                                                                               ^
3 errors generated.
WARNING: Compilation error, trying hard to find its origin...
Compilation error, trying hard to find its origin...
WARNING: Nop, I'm going to flood you with C++ errors!
Nop, I'm going to flood you with C++ errors!
CRITICAL: Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "C:\Anaconda3\envs\pythran_env\Library\bin\clang-cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_OPENBLAS -IC:/Anaconda3/envs/pythran_env/Library/include -IC:\Anaconda3\envs\pythran_env\lib\site-packages/pythran -IC:\Anaconda3\envs\pythran_env\lib\site-packages\numpy\core\include -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran_openblas\include\openblas -IC:\Anaconda3\envs\pythran_env\include -IC:\Anaconda3\envs\pythran_env\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /EHsc /TpC:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp /FoC:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.obj /std:c++14 /w" failed with exit status 1
Cover me Jack. Jack? Jaaaaack!!!!
E: error: Command "C:\Anaconda3\envs\pythran_env\Library\bin\clang-cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_OPENBLAS -IC:/Anaconda3/envs/pythran_env/Library/include -IC:\Anaconda3\envs\pythran_env\lib\site-packages/pythran -IC:\Anaconda3\envs\pythran_env\lib\site-packages\numpy\core\include -IC:\Anaconda3\envs\pythran_env\lib\site-packages\pythran_openblas\include\openblas -IC:\Anaconda3\envs\pythran_env\include -IC:\Anaconda3\envs\pythran_env\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /EHsc /TpC:\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.cpp /FoC:\Users\FL232714\AppData\Local\Temp\tmp6d15tdk5\Release\Users\FL232714\AppData\Local\Temp\tmp1j8ilwi4.obj /std:c++14 /w" failed with exit status 1

@serge-sans-paille
Copy link
Owner

from the install step you describe above, you installed pythran version from conda, not the patched version?

@flothesof
Copy link
Contributor Author

flothesof commented Jan 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants