On Wed, Nov 2, 2022 at 9:30 AM 腾刘 <27rabbi...@gmail.com> wrote:

> Hi everyone! I 'm here again.
>
> Recently I 'm trying to understand the C code with output-debug method,
> inserting many print statements. I was doing well with it until one day: I
> changed a file called loops_utils.h.src located in numpy/core/src/umath by
> inserting some "printf", but after I re-built the Numpy from source, the
> changes didn't apply.
>
> Specifically, I added:
>
>     printf(" ??????? ");
>
> in line 80, but after re-building it didn't output "??????".
>
> I found that when I ran "python setup.py build_ext --inplace", the output
> info seemed to tell me that nothing has been compiled, because normally
> when something changed, it will output:
>     > x86-64-conda-linux-gnu-cc: xxxxxx.dispatch.c
>
> What's more interesting is that: after I changed the file
> loops_arithm_fp.dispatch.c.src, and then rebuilt, the change to
> loops_utils.h.src applied, with the screen full of "??????".
>
> I tested it for many times that each time I modify loops_utils.h.src, and
> the change doesn't apply after re-building; while after I
> modify loops_arithm_fp.dispatch.c.src, the change to loops_utils.h.src
> starts to apply.
>
> It seems to be related to how build system detects the change, I guuess.
> Can someone explain why this will happen or point out what I 've missed?
>

I don't think you've missed anything, that's a bug in one of the setup.py
files. The build system (distutils + numpy.distutils) is bad at
automatically figuring out what is used, so sometimes it needs an explicit
hint with `depends=['some_header.h.src']` - it looks like that is missing
here.

Cheers,
Ralf
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to