Error while installing a python code

Dieter Maurer dieter at handshake.de
Mon Mar 9 14:47:46 EDT 2020


Tim Ko wrote at 2020-3-9 07:18 -0700:
>I am trying to install a custom Python code but ran into an error. The error presumably associated with cython. I tried a different compiler since Intel compiler often crashes when using cython, but couldn't get it working.

Almost surely, the compiler is not to blame.
>Attached is the installation error log. I have installed and updated all essential packages such as numpy and scipy. Could someone please give me advice to resolve this issue? Many thanks in advance.
>
>Sincerely,
>TK
>
>
>===================
>$ python setup.py build_ext -b PoissonSolver/
> ...
>skipping 'PoissonSolver/PS_3D_cy/ps3d.c' Cython extension (up-to-date)
>building 'matvec2D' extension
>icc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include -I/home01/r782a03/.conda/envs/hko_env/include/python3.7m -c PoissonSolver/MV_2D_cy/matvec2D.c -o build/temp.linux-x86_64-3.7/PoissonSolver/MV_2D_cy/matvec2D.o -ffast-math
> ...
>PoissonSolver/MV_2D_cy/matvec2D.c(17500): error: struct "_ts" has no field "exc_type"
>      *type = tstate->exc_type;

Errors like this often indicate some version conflict.

The "matvec2D" source obviously expects "_ts" to have a field "exc_type"
but the compiler knows nothing about it.

I know at least 2 reasons for such a situation:

 * the source expects a different (newer or older) version of a dependency

 * the available headers (for a dependency) are out of date.


I have also seen similar errors in a case, when "cython" was
not installed. In this case, the distribution came with
pre-"cythonized" C sources, inadequate for my system. Installing
"cython" solved this problem. You might face a similar
situation: while "cython" is (likely) installed, the C source might
wrongly seem up-to-date. You could try to delete it and retry.


More information about the Python-list mailing list