Closed JBorrow closed 4 months ago
Now building on my macbook and on ubuntu vm, but not in CI... Lovely.
Seems to build fine apart from on py3.8 on linux cauisng the rest to get canclled.
At this time we should also reconsider the version pinning for the various dependencies.
Attention: Patch coverage is 64.70588%
with 6 lines
in your changes missing coverage. Please review.
Project coverage is 37.72%. Comparing base (
14b1dba
) to head (43e5b1d
).
Files | Patch % | Lines |
---|---|---|
pixell/__init__.py | 60.00% | 2 Missing :warning: |
pixell/_version.py | 0.00% | 2 Missing :warning: |
pixell/enplot.py | 50.00% | 2 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
TBD:
Note: the reason that code coverage has decreased is that I have removed the self-coverage of the tests which some may argue is cheating :).
@msyriac are the scripts in scripts/generate_tests.py
actually used?
Our broken builds on ubuntu actually seem to be from a broken scipy dependency build.
I have asked Ted and Giannis to test this branch builds successfully on their machines (NERSC and Princeton respectively) with python 3.12 before we merge.
Potentially unrelated: the tests make over 10'000 warnings. We should look into those.
Builds are good to go. Only reason for test failures is codecov saying no.
@msyriac are the scripts in
scripts/generate_tests.py
actually used?
Yes, they are used (very rarely) to generate data for comparisons in tests
Do we want to support editable installations? If I install using "pip install -e ." after cloning, I get
$ python
Python 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pixell import curvedsky
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1322, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1262, in _find_spec
File "/home/msyriac/.venv/lib/python3.12/site-packages/_pixell_editable_loader.py", line 310, in find_spec
tree = self._rebuild()
^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/_pixell_editable_loader.py", line 343, in _rebuild
subprocess.run(self._build_cmd, cwd=self._build_path, env=env, stdout=subprocess.DEVNULL)
File "/usr/lib/python3.12/subprocess.py", line 548, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-env-_3jl0kzr/normal/bin/ninja'
Works fine with a regular install.
We do, you just need to do pip install --editable --no-build-isolation .
I've added this to the README.
I get
$ pip install --editable --no-build-isolation .
ERROR: --no-build-isolation is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).
pip 24.1.1 on python 3.12
Oh, sorry, you need to swap those two flags, oops!
Ok, I now get
ModuleNotFoundError: No module named 'mesonpy'
full traceback
$ pip install --no-build-isolation --editable .
DEPRECATION: Loading egg at /home/msyriac/.venv/lib/python3.12/site-packages/classy-3.2.3-py3.12-linux-x86_64.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
Obtaining file:///home/msyriac/repos/pixell
Checking if build backend supports build_editable ... done
ERROR: Exception:
Traceback (most recent call last):
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 179, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve
collected = self.factory.collect_root_requirements(root_reqs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 538, in collect_root_requirements
reqs = list(
^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 494, in _make_requirements_from_install_req
cand = self._make_base_candidate_from_link(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 210, in _make_base_candidate_from_link
self._editable_candidate_cache[link] = EditableCandidate(
^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 328, in __init__
super().__init__(
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 158, in __init__
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 235, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 338, in _prepare_distribution
return self._factory.preparer.prepare_editable_requirement(self._ireq)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 698, in prepare_editable_requirement
dist = _get_prepared_distribution(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py", line 72, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata
self.req.prepare_metadata()
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 566, in prepare_metadata
and self.supports_pyproject_editable
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/functools.py", line 995, in __get__
val = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py", line 257, in supports_pyproject_editable
return "build_editable" in self.pep517_backend._supported_features()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 153, in _supported_features
return self._call_hook('_supported_features', {})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
File "/home/msyriac/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
obj = import_module(mod_path)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mesonpy'
but mesonpy
is not pip installable
$ pip install mesonpy
ERROR: Could not find a version that satisfies the requirement mesonpy (from versions: none)
ERROR: No matching distribution found for mesonpy
Sorry, I forgot that you need to install the build dependencies separately in that case. I have remedied that in the docs:
pip install --upgrade pip meson ninja meson-python cython numpy
I don't know why pip doesn't do this automatically.
Ok, that works. This looks good to go to me.
Very impressed with this new build system! Maybe this was possible before, but I noticed in Github Actions that you can actually download the wheels that would be uploaded to PyPI and test them out on various systems before merging the PR. (e.g. the manylinux py3.12 wheel works on my laptop). We could (optionally) send the mac arm64 wheel to someone with a recent Mac to test it out, before merging this.
How does versioning work with these changes? In the past, PyPI uploads were triggered with new versions.
The wheels are tested during build time; they are installed and the test suite is ran using them. That's true for all systems: manylinux, macos-arm, macos-x86.
Versioning works as with the prior system where you must create a git tag and this then leads to a bump in the version. I note that the currently 'bumped' version of 0.25.0 by bumpversion
was not used as far as I know; we are still on 0.23.4 as that is the latest git tag.
Hello @JBorrow, this compiles and installs on Della. On Tiger it fails with:
(/scratch/gpfs/ip8725/pixell_test) [ip8725@tigercpu pixell]$ pip install --no-build-isolation --editable .
Obtaining file:///scratch/gpfs/ip8725/git/pixell
Checking if build backend supports build_editable ... done
Preparing editable metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing editable metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [850 lines of output]
+ meson setup --reconfigure /scratch/gpfs/ip8725/git/pixell /scratch/gpfs/ip8725/git/pixell/build/cp312 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/scratch/gpfs/ip8725/git/pixell/build/cp312/meson-python-native-file.ini
Cleaning... 0 files.
The Meson build system
Version: 1.4.1
Source dir: /scratch/gpfs/ip8725/git/pixell
Build dir: /scratch/gpfs/ip8725/git/pixell/build/cp312
Build type: native build
Project name: pixell
Project version: 0.23.14+70.g43e5b1d
Fortran compiler for the host machine: gfortran (gcc 4.8.5 "GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)")
Fortran linker for the host machine: gfortran ld.bfd 2.27-44
C compiler for the host machine: cc (gcc 4.8.5 "cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)")
C linker for the host machine: cc ld.bfd 2.27-44
Cython compiler for the host machine: cython (cython 3.0.10)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python found: YES (/scratch/gpfs/ip8725/pixell_test/bin/python3.12)
Dependency openmp found: YES 3.1 (cached)
Library m found: YES
Library m found: YES
Build targets in project: 16
pixell 0.23.14+70.g43e5b1d
User defined options
Native files: /scratch/gpfs/ip8725/git/pixell/build/cp312/meson-python-native-file.ini
buildtype : release
b_ndebug : if-release
b_vscrt : md
Found ninja-1.11.1.git.kitware.jobserver-1 at /scratch/gpfs/ip8725/pixell_test/bin/ninja
+ /scratch/gpfs/ip8725/pixell_test/bin/ninja
[1/35] Compiling C object lib_cmisc_shared.so.p/cython_cmisc_core.c.o
FAILED: lib_cmisc_shared.so.p/cython_cmisc_core.c.o
cc -Ilib_cmisc_shared.so.p -I. -I../.. -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ lib_cmisc_shared.so.p/cython_cmisc_core.c.o -MF lib_cmisc_shared.so.p/cython_cmisc_core.c.o.d -o lib_cmisc_shared.so.p/cython_cmisc_core.c.o -c ../../cython/cmisc_core.c
../../cython/cmisc_core.c: In function ‘alm2cl_sp’:
../../cython/cmisc_core.c:23:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = 0; l <= lmax; l++) {
^
../../cython/cmisc_core.c:23:4: note: use option -std=c99 or -std=gnu99 to compile your code
../../cython/cmisc_core.c:29:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 1; m <= mmax; m++) {
^
../../cython/cmisc_core.c:29:18: error: expected iteration declaration or initialization before ‘m’
for(int m = 1; m <= mmax; m++) {
^
../../cython/cmisc_core.c:30:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c:37:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = 0; l < nl; l++) {
^
../../cython/cmisc_core.c:37:18: error: expected iteration declaration or initialization before ‘l’
for(int l = 0; l < nl; l++) {
^
../../cython/cmisc_core.c:39:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < nthread; i++)
^
../../cython/cmisc_core.c: In function ‘alm2cl_dp’:
../../cython/cmisc_core.c:55:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = 0; l <= lmax; l++) {
^
../../cython/cmisc_core.c:61:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 1; m <= mmax; m++) {
^
../../cython/cmisc_core.c:61:18: error: expected iteration declaration or initialization before ‘m’
for(int m = 1; m <= mmax; m++) {
^
../../cython/cmisc_core.c:62:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c:69:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = 0; l < nl; l++) {
^
../../cython/cmisc_core.c:69:18: error: expected iteration declaration or initialization before ‘l’
for(int l = 0; l < nl; l++) {
^
../../cython/cmisc_core.c:71:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < nthread; i++)
^
../../cython/cmisc_core.c: In function ‘transpose_alm_dp’:
../../cython/cmisc_core.c:89:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int im = 0; im <= mmax; im++) {
^
../../cython/cmisc_core.c:90:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int il = im; il <= lmax; il++) {
^
../../cython/cmisc_core.c: In function ‘transpose_alm_sp’:
../../cython/cmisc_core.c:110:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int im = 0; im <= mmax; im++) {
^
../../cython/cmisc_core.c:111:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int il = im; il <= lmax; il++) {
^
../../cython/cmisc_core.c: In function ‘lmul_dp’:
../../cython/cmisc_core.c:128:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:128:17: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:129:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c: In function ‘lmul_sp’:
../../cython/cmisc_core.c:141:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:141:17: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:142:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c: In function ‘lmatmul_dp’:
../../cython/cmisc_core.c:163:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:163:18: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:164:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= leff; l++) {
^
../../cython/cmisc_core.c:167:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) { vreal[r] = vimag[r] = 0; }
^
../../cython/cmisc_core.c:169:13: error: redefinition of ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:167:13: note: previous definition of ‘r’ was here
for(int r = 0; r < N; r++) { vreal[r] = vimag[r] = 0; }
^
../../cython/cmisc_core.c:169:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:170:6: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 0; c < M; c++) {
^
../../cython/cmisc_core.c:176:13: error: redefinition of ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:169:13: note: previous definition of ‘r’ was here
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:176:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:187:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:187:17: error: expected iteration declaration or initialization before ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:188:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:189:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = max(m,leff+1); l <= lmax; l++) {
^
../../cython/cmisc_core.c: In function ‘lmatmul_sp’:
../../cython/cmisc_core.c:209:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:209:18: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:210:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lfmax; l++) {
^
../../cython/cmisc_core.c:213:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) { vreal[r] = vimag[r] = 0; }
^
../../cython/cmisc_core.c:215:13: error: redefinition of ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:213:13: note: previous definition of ‘r’ was here
for(int r = 0; r < N; r++) { vreal[r] = vimag[r] = 0; }
^
../../cython/cmisc_core.c:215:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:216:6: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 0; c < M; c++) {
^
../../cython/cmisc_core.c:222:13: error: redefinition of ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:215:13: note: previous definition of ‘r’ was here
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:222:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:233:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:233:17: error: expected iteration declaration or initialization before ‘r’
for(int r = 0; r < N; r++) {
^
../../cython/cmisc_core.c:234:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:235:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = max(m,leff+1); l <= lmax; l++) {
^
../../cython/cmisc_core.c: In function ‘transfer_alm_dp’:
../../cython/cmisc_core.c:249:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:249:17: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:250:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c:247:6: warning: unused variable ‘mmax’ [-Wunused-variable]
int mmax = min(mmax1,mmax2);
^
../../cython/cmisc_core.c: In function ‘transfer_alm_sp’:
../../cython/cmisc_core.c:263:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:263:17: error: expected iteration declaration or initialization before ‘m’
for(int m = 0; m <= mmax; m++) {
^
../../cython/cmisc_core.c:264:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int l = m; l <= lmax; l++) {
^
../../cython/cmisc_core.c:261:6: warning: unused variable ‘mmax’ [-Wunused-variable]
int mmax = min(mmax1,mmax2);
^
[2/35] Compiling C object lib_srcsim_shared.so.p/cython_srcsim_core.c.o
FAILED: lib_srcsim_shared.so.p/cython_srcsim_core.c.o
cc -Ilib_srcsim_shared.so.p -I. -I../.. -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ lib_srcsim_shared.so.p/cython_srcsim_core.c.o -MF lib_srcsim_shared.so.p/cython_srcsim_core.c.o.d -o lib_srcsim_shared.so.p/cython_srcsim_core.c.o -c ../../cython/srcsim_core.c
../../cython/srcsim_core.c: In function ‘sum_map’:
../../cython/srcsim_core.c:57:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 0; y < ny; y++)
^
../../cython/srcsim_core.c:57:2: note: use option -std=c99 or -std=gnu99 to compile your code
../../cython/srcsim_core.c:58:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int x = 0; x < nx; x++)
^
../../cython/srcsim_core.c: At top level:
../../cython/srcsim_core.c:113:20: error: expected ‘;’, ‘,’ or ‘)’ before ‘amps’
float * restrict amps, // [ncomp], e.g. T, Q, U.
^
../../cython/srcsim_core.c:125:49: error: expected ‘;’, ‘,’ or ‘)’ before ‘source’
void merge_cell(int n, int op, float * restrict source, float * restrict target);
^
../../cython/srcsim_core.c: In function ‘sim_objects’:
../../cython/srcsim_core.c:207:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:207:20: error: expected iteration declaration or initialization before ‘ci’
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:214:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:214:19: error: expected iteration declaration or initialization before ‘ci’
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:222:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncell; ci++) {
^
../../cython/srcsim_core.c: In function ‘measure_amax’:
../../cython/srcsim_core.c:235:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < nobj; i++) {
^
../../cython/srcsim_core.c:235:17: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < nobj; i++) {
^
../../cython/srcsim_core.c:237:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 1; c < ncomp; c++)
^
../../cython/srcsim_core.c: In function ‘build_prof_info’:
../../cython/srcsim_core.c:247:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < nprof; i++) {
^
../../cython/srcsim_core.c:247:17: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < nprof; i++) {
^
../../cython/srcsim_core.c:251:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ri = 1; ri < prof_ns[i]; ri++) {
^
../../cython/srcsim_core.c:263:7: error: redefinition of ‘ri’
int ri = prof_ns[i]-1;
^
../../cython/srcsim_core.c:251:11: note: previous definition of ‘ri’ was here
for(int ri = 1; ri < prof_ns[i]; ri++) {
^
../../cython/srcsim_core.c:264:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int li = prof_levels-2; li > 0; li--) {
^
../../cython/srcsim_core.c: In function ‘measure_rmax’:
../../cython/srcsim_core.c:287:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:287:18: error: expected iteration declaration or initialization before ‘oi’
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c: In function ‘assign_cells’:
../../cython/srcsim_core.c:352:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:358:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:358:18: error: expected iteration declaration or initialization before ‘oi’
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:370:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:374:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int cy = cy1; cy < cy2; cy++) {
^
../../cython/srcsim_core.c:376:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int cx = cx1; cx < cx2; cx++) {
^
../../cython/srcsim_core.c:386:10: error: redefinition of ‘ci’
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:352:10: note: previous definition of ‘ci’ was here
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:386:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncell; ci++)
^
../../cython/srcsim_core.c:397:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ai = 0; ai < nactive; ai++) {
^
../../cython/srcsim_core.c:411:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < inactive->n; i++)
^
../../cython/srcsim_core.c:413:10: error: redefinition of ‘i’
for(int i = 0; i < active->n; i++)
^
../../cython/srcsim_core.c:411:10: note: previous definition of ‘i’ was here
for(int i = 0; i < inactive->n; i++)
^
../../cython/srcsim_core.c:413:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < active->n; i++)
^
../../cython/srcsim_core.c: In function ‘process_cell’:
../../cython/srcsim_core.c:486:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:489:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncomp; ci++) amp[ci] = 0;
^
../../cython/srcsim_core.c:491:4: warning: implicit declaration of function ‘paint_object’ [-Wimplicit-function-declaration]
paint_object(obj_decs[obj], obj_ras[obj], amp, prof_ns[pid], prof_rs[pid], prof_vs[pid], prof_equi, ncomp, cny, cnx, transpose, cell_decs, cell_ras, cell_data);
^
../../cython/srcsim_core.c:493:12: error: redefinition of ‘ci’
for(int ci = 0; ci < ncomp; ci++)
^
../../cython/srcsim_core.c:489:12: note: previous definition of ‘ci’ was here
for(int ci = 0; ci < ncomp; ci++) amp[ci] = 0;
^
../../cython/srcsim_core.c:493:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncomp; ci++)
^
../../cython/srcsim_core.c:497:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:499:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncomp; ci++)
^
../../cython/srcsim_core.c:505:4: warning: implicit declaration of function ‘merge_cell’ [-Wimplicit-function-declaration]
merge_cell(ntot, op, cell_work, cell_data);
^
../../cython/srcsim_core.c: In function ‘extract_map’:
../../cython/srcsim_core.c:523:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 0; c < ncomp; c++) {
^
../../cython/srcsim_core.c:526:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oy = 0, iy = box[0]; oy < ny; oy++, iy++) {
^
../../cython/srcsim_core.c:528:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ox = 0, ix = box[2]; ox < nx; ox++, ix++) {
^
../../cython/srcsim_core.c: In function ‘insert_map’:
../../cython/srcsim_core.c:542:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 0; c < ncomp; c++) {
^
../../cython/srcsim_core.c:545:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int iy = 0, oy = box[0]; iy < ny; iy++, oy++) {
^
../../cython/srcsim_core.c:547:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ix = 0, ox = box[2]; ix < nx; ix++, ox++) {
^
../../cython/srcsim_core.c:541:20: warning: unused variable ‘ntot’ [-Wunused-variable]
int npix = ny*nx, ntot = npix*ncomp;
^
../../cython/srcsim_core.c: At top level:
../../cython/srcsim_core.c:558:20: error: expected ‘;’, ‘,’ or ‘)’ before ‘amps’
float * restrict amps, // [ncomp], e.g. T, Q, U.
^
../../cython/srcsim_core.c:584:49: error: expected ‘;’, ‘,’ or ‘)’ before ‘source’
void merge_cell(int n, int op, float * restrict source, float * restrict target) {
^
../../cython/srcsim_core.c: In function ‘estimate_bounding_box’:
../../cython/srcsim_core.c:710:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oy = -1; oy <= 1; oy += 2)
^
../../cython/srcsim_core.c:711:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ox = -1; ox <= 1; ox += 2) {
^
../../cython/srcsim_core.c: In function ‘calloc_pppf’:
../../cython/srcsim_core.c:749:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i1 = 0; i1 < n1; i1++) {
^
../../cython/srcsim_core.c:751:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i2 = 0; i2 < n2; i2++)
^
../../cython/srcsim_core.c: In function ‘free_pppf’:
../../cython/srcsim_core.c:758:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i1 = 0; i1 < n1; i1++) {
^
../../cython/srcsim_core.c:760:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i2 = 0; i2 < n2; i2++)
^
../../cython/srcsim_core.c: In function ‘reduce_amps’:
../../cython/srcsim_core.c:768:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int w = 0; w < nwork; w++) {
^
../../cython/srcsim_core.c:769:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int c = 0; c < ncomp; c++) {
^
../../cython/srcsim_core.c:770:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int o = 0; o < nobj; o++)
^
../../cython/srcsim_core.c: In function ‘radial_sum’:
../../cython/srcsim_core.c:808:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:808:18: error: expected iteration declaration or initialization before ‘oi’
for(int oi = 0; oi < nobj; oi++) {
^
../../cython/srcsim_core.c:813:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y_ = pixbox[0]; y_ < pixbox[1]; y_++) {
^
../../cython/srcsim_core.c:816:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int x_ = pixbox[2]; x_ < pixbox[3]; x_++) {
^
../../cython/srcsim_core.c:824:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int ci = 0; ci < ncomp; ci++)
^
[3/35] Compiling C object lib_distances_shared.so.p/cython_distances_core.c.o
FAILED: lib_distances_shared.so.p/cython_distances_core.c.o
cc -Ilib_distances_shared.so.p -I. -I../.. -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ lib_distances_shared.so.p/cython_distances_core.c.o -MF lib_distances_shared.so.p/cython_distances_core.c.o.d -o lib_distances_shared.so.p/cython_distances_core.c.o -c ../../cython/distances_core.c
../../cython/distances_core.c: In function ‘distance_from_points_simple’:
../../cython/distances_core.c:56:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:56:2: note: use option -std=c99 or -std=gnu99 to compile your code
../../cython/distances_core.c:61:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npix; i++) {
^
../../cython/distances_core.c:66:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c: In function ‘distance_from_points_simple_separable’:
../../cython/distances_core.c:96:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:103:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum y = 0; y < ny; y++) {
^
../../cython/distances_core.c:103:18: error: expected iteration declaration or initialization before ‘y’
for(inum y = 0; y < ny; y++) {
^
../../cython/distances_core.c:107:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum x = 0; x < nx; x++) {
^
../../cython/distances_core.c:110:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c: In function ‘distance_from_points_bubble’:
../../cython/distances_core.c:187:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:195:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:205:11: error: redefinition of ‘i’
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:187:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:205:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:218:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:222:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nneigh; oi++) {
^
../../cython/distances_core.c: In function ‘distance_from_points_bubble_separable’:
../../cython/distances_core.c:265:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:274:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:281:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 0; y < ny; y++) {
^
../../cython/distances_core.c:290:11: error: redefinition of ‘i’
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:265:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:290:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:302:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:306:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nneigh; oi++) {
^
../../cython/distances_core.c: In function ‘copy_block_double’:
../../cython/distances_core.c:396:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int yi = 0; yi < lny; yi++) {\
^
../../cython/distances_core.c:410:1: note: in expansion of macro ‘make_copy_block’
make_copy_block(double);
^
../../cython/distances_core.c:399:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int xi = 0; xi < lnx; xi++) {\
^
../../cython/distances_core.c:410:1: note: in expansion of macro ‘make_copy_block’
make_copy_block(double);
^
../../cython/distances_core.c: In function ‘copy_block_int’:
../../cython/distances_core.c:396:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int yi = 0; yi < lny; yi++) {\
^
../../cython/distances_core.c:411:1: note: in expansion of macro ‘make_copy_block’
make_copy_block(int);
^
../../cython/distances_core.c:399:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int xi = 0; xi < lnx; xi++) {\
^
../../cython/distances_core.c:411:1: note: in expansion of macro ‘make_copy_block’
make_copy_block(int);
^
../../cython/distances_core.c: In function ‘allocate_cell’:
../../cython/distances_core.c:427:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < n; i++)
^
../../cython/distances_core.c:430:13: error: conflicting types for ‘i’
for(size_t i = 0; i < n; i++) c->domains[i] = -1;
^
../../cython/distances_core.c:427:10: note: previous definition of ‘i’ was here
for(int i = 0; i < n; i++)
^
../../cython/distances_core.c:430:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(size_t i = 0; i < n; i++) c->domains[i] = -1;
^
../../cython/distances_core.c: In function ‘fill_cell’:
../../cython/distances_core.c:453:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(size_t i = 0; i < yposlen; i++) {
^
../../cython/distances_core.c: In function ‘cell_solve_until’:
../../cython/distances_core.c:492:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:499:11: error: redefinition of ‘i’
for(int i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:492:11: note: previous definition of ‘i’ was here
for(int i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:499:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:503:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nneigh; oi++) {
^
../../cython/distances_core.c: In function ‘find_relevant_cells’:
../../cython/distances_core.c:548:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:554:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int dir = 0; dir < 4; dir++) {
^
../../cython/distances_core.c:566:2: warning: passing argument 4 of ‘qsort’ from incompatible pointer type [enabled by default]
qsort(cands->y, cands->n, sizeof(int), compar_int);
^
In file included from ../../cython/distances_core.c:3:0:
/usr/include/stdlib.h:760:13: note: expected ‘__compar_fn_t’ but argument is of type ‘int (*)(int *, int *)’
extern void qsort (void *__base, size_t __nmemb, size_t __size,
^
../../cython/distances_core.c:567:10: error: redefinition of ‘i’
for(int i = 0; i < cands->n; i++)
^
../../cython/distances_core.c:548:10: note: previous definition of ‘i’ was here
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:567:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < cands->n; i++)
^
../../cython/distances_core.c:574:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:574:17: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:585:10: error: redefinition of ‘i’
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:567:10: note: previous definition of ‘i’ was here
for(int i = 0; i < cands->n; i++)
^
../../cython/distances_core.c:585:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c: In function ‘fetch_edge’:
../../cython/distances_core.c:623:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < n; i++) {
^
../../cython/distances_core.c:603:6: warning: unused variable ‘fnmax’ [-Wunused-variable]
int fnmax = cfrom->ny*cfrom->nx;
^
../../cython/distances_core.c:602:6: warning: unused variable ‘tnmax’ [-Wunused-variable]
int tnmax = cto->ny*cto->nx;
^
../../cython/distances_core.c: In function ‘distance_from_points_cellgrid’:
../../cython/distances_core.c:646:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:654:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:672:11: error: redefinition of ‘i’
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:646:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < ny*nx; i++) {
^
../../cython/distances_core.c:672:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:690:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:690:17: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:704:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:704:18: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < current_cells->n; i++) {
^
../../cython/distances_core.c:717:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int dir = 0; dir < 4; dir++) {
^
../../cython/distances_core.c:720:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:720:19: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:734:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:734:18: error: expected iteration declaration or initialization before ‘i’
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:737:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int j = 0; j < c->current->n; j++) {
^
../../cython/distances_core.c:745:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int pix = 0; pix < c->ny*c->nx; pix++)
^
../../cython/distances_core.c:752:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < ucands->n; i++) {
^
../../cython/distances_core.c:772:10: error: conflicting types for ‘i’
for(int i = 0; i < grid.ncell; i++)
^
../../cython/distances_core.c:672:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:772:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < grid.ncell; i++)
^
../../cython/distances_core.c: In function ‘build_healpix_info’:
../../cython/distances_core.c:799:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 0; y < nside; y++) {
^
../../cython/distances_core.c:809:10: error: redefinition of ‘y’
for(int y = nside; y < 3*nside-1; y++) {
^
../../cython/distances_core.c:799:10: note: previous definition of ‘y’ was here
for(int y = 0; y < nside; y++) {
^
../../cython/distances_core.c:809:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = nside; y < 3*nside-1; y++) {
^
../../cython/distances_core.c:819:10: error: redefinition of ‘y’
for(int y = 3*nside-1; y < 4*nside-1; y++) {
^
../../cython/distances_core.c:809:10: note: previous definition of ‘y’ was here
for(int y = nside; y < 3*nside-1; y++) {
^
../../cython/distances_core.c:819:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 3*nside-1; y < 4*nside-1; y++) {
^
../../cython/distances_core.c: In function ‘get_healpix_neighs’:
../../cython/distances_core.c:990:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0; i < nneigh_hp; i++) {
^
../../cython/distances_core.c: In function ‘distance_from_points_bubble_healpix’:
../../cython/distances_core.c:1010:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:1020:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < geo->npix; i++) {
^
../../cython/distances_core.c:1029:11: error: redefinition of ‘i’
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:1020:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < geo->npix; i++) {
^
../../cython/distances_core.c:1029:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:1044:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < curr->n; i++) {
^
../../cython/distances_core.c:1050:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nneigh_hp; oi++) {
^
../../cython/distances_core.c: In function ‘distance_from_points_heap_healpix’:
../../cython/distances_core.c:1146:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum j = 0; j < npoint; j++) {
^
../../cython/distances_core.c:1156:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < geo->npix; i++) {
^
../../cython/distances_core.c:1164:11: error: redefinition of ‘i’
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:1156:11: note: previous definition of ‘i’ was here
for(inum i = 0; i < geo->npix; i++) {
^
../../cython/distances_core.c:1164:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:1184:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int oi = 0; oi < nneigh_hp; oi++) {
^
../../cython/distances_core.c: In function ‘find_edges_healpix’:
../../cython/distances_core.c:1263:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 0; y < geo->ny; y++) {
^
../../cython/distances_core.c:1264:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int x = 0; x < geo->nx[y]; x++) {
^
../../cython/distances_core.c:1268:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int j = 0; j < nneigh_hp; j++) {
^
../../cython/distances_core.c: In function ‘find_edges_labeled_healpix’:
../../cython/distances_core.c:1295:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int y = 0; y < geo->ny; y++) {
^
../../cython/distances_core.c:1296:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int x = 0; x < geo->nx[y]; x++) {
^
../../cython/distances_core.c:1300:4: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int j = 0; j < nneigh_hp; j++) {
^
../../cython/distances_core.c: In function ‘ravel_healpix’:
../../cython/distances_core.c:1351:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++)
^
../../cython/distances_core.c:1351:18: error: expected iteration declaration or initialization before ‘i’
for(inum i = 0; i < npoint; i++)
^
../../cython/distances_core.c: In function ‘unravel_healpix’:
../../cython/distances_core.c:1360:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(inum i = 0; i < npoint; i++) {
^
../../cython/distances_core.c:1360:18: error: expected iteration declaration or initialization before ‘i’
for(inum i = 0; i < npoint; i++) {
^
[4/35] Module scanner.
[5/35] Module scanner.
[6/35] Module scanner.
[7/35] Module scanner.
[8/35] Module scanner.
[9/35] Compiling C object srcsim.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_srcsim.pyx.c.o
FAILED: srcsim.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_srcsim.pyx.c.o
cc -Isrcsim.cpython-312-x86_64-linux-gnu.so.p -I. -I../.. -I../../cython -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -I/scratch/gpfs/ip8725/pixell_test/include/python3.12 -fvisibility=hidden -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ srcsim.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_srcsim.pyx.c.o -MF srcsim.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_srcsim.pyx.c.o.d -o srcsim.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_srcsim.pyx.c.o -c srcsim.cpython-312-x86_64-linux-gnu.so.p/cython/srcsim.pyx.c
In file included from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909:0,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
from srcsim.cpython-312-x86_64-linux-gnu.so.p/cython/srcsim.pyx.c:1227:
../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^
In file included from srcsim.cpython-312-x86_64-linux-gnu.so.p/cython/srcsim.pyx.c:30237:0:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h: In function ‘_PyFrame_Initialize’:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = null_locals_from; i < code->co_nlocalsplus; i++) {
^
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: note: use option -std=c99 or -std=gnu99 to compile your code
[10/35] Compiling C object cmisc.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_cmisc.pyx.c.o
FAILED: cmisc.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_cmisc.pyx.c.o
cc -Icmisc.cpython-312-x86_64-linux-gnu.so.p -I. -I../.. -I../../cython -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -I/scratch/gpfs/ip8725/pixell_test/include/python3.12 -fvisibility=hidden -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ cmisc.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_cmisc.pyx.c.o -MF cmisc.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_cmisc.pyx.c.o.d -o cmisc.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_cmisc.pyx.c.o -c cmisc.cpython-312-x86_64-linux-gnu.so.p/cython/cmisc.pyx.c
In file included from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909:0,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
from cmisc.cpython-312-x86_64-linux-gnu.so.p/cython/cmisc.pyx.c:1229:
../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^
In file included from cmisc.cpython-312-x86_64-linux-gnu.so.p/cython/cmisc.pyx.c:36425:0:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h: In function ‘_PyFrame_Initialize’:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = null_locals_from; i < code->co_nlocalsplus; i++) {
^
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: note: use option -std=c99 or -std=gnu99 to compile your code
[11/35] Compiling C object distances.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_distances.pyx.c.o
FAILED: distances.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_distances.pyx.c.o
cc -Idistances.cpython-312-x86_64-linux-gnu.so.p -I. -I../.. -I../../cython -I../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include -I/scratch/gpfs/ip8725/pixell_test/include/python3.12 -fvisibility=hidden -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -fopenmp -MD -MQ distances.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_distances.pyx.c.o -MF distances.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_distances.pyx.c.o.d -o distances.cpython-312-x86_64-linux-gnu.so.p/meson-generated_cython_distances.pyx.c.o -c distances.cpython-312-x86_64-linux-gnu.so.p/cython/distances.pyx.c
In file included from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909:0,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
from ../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
from distances.cpython-312-x86_64-linux-gnu.so.p/cython/distances.pyx.c:1227:
../../../../pixell_test/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^
In file included from distances.cpython-312-x86_64-linux-gnu.so.p/cython/distances.pyx.c:44192:0:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h: In function ‘_PyFrame_Initialize’:
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = null_locals_from; i < code->co_nlocalsplus; i++) {
^
/scratch/gpfs/ip8725/pixell_test/include/python3.12/internal/pycore_frame.h:134:5: note: use option -std=c99 or -std=gnu99 to compile your code
ninja: build stopped: subcommand failed.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
and on my MacBook pro with the latest MacOS (14.5) with:
(pixell_meson) ip8725@RCO-VWVY2NNQLM:~/git/pixell$ pip install --no-build-isolation --editable .
Obtaining file:///Users/ip8725/git/pixell
Checking if build backend supports build_editable ... done
Preparing editable metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing editable metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [24 lines of output]
+ meson setup /Users/ip8725/git/pixell /Users/ip8725/git/pixell/build/cp312 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/Users/ip8725/git/pixell/build/cp312/meson-python-native-file.ini
The Meson build system
Version: 1.4.1
Source dir: /Users/ip8725/git/pixell
Build dir: /Users/ip8725/git/pixell/build/cp312
Build type: native build
Project name: pixell
Project version: 0.23.14+70.g43e5b1d
Fortran compiler for the host machine: gfortran (gcc 13.2.0 "GNU Fortran (Homebrew GCC 13.2.0) 13.2.0")
Fortran linker for the host machine: gfortran ld64 1053.12
C compiler for the host machine: cc (clang 15.0.0 "Apple clang version 15.0.0 (clang-1500.3.9.4)")
C linker for the host machine: cc ld64 1053.12
Cython compiler for the host machine: cython (cython 3.0.10)
Host machine cpu family: aarch64
Host machine cpu: aarch64
Program python found: YES (/Users/ip8725/anaconda3/envs/pixell_meson/bin/python3.12)
Did not find pkg-config by name 'pkg-config'
Found pkg-config: NO
Run-time dependency python found: YES 3.12
Run-time dependency OpenMP found: NO (tried system)
../../meson.build:22:10: ERROR: Dependency "openmp" not found, tried system
A full log can be found at /Users/ip8725/git/pixell/build/cp312/meson-logs/meson-log.txt
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
I'll try to see what is going on on Tiger and get back to you. For my laptop it might be a bit more complicated as OpenMP is not supported I think at all.
Based on @JBorrow suggestion to use Homebrew compilers on Mac:
(pixell_meson) ip8725@RCO-VWVY2NNQLM:~/git/pixell$ pip install --no-build-isolation --editable .
Obtaining file:///Users/ip8725/git/pixell
Checking if build backend supports build_editable ... done
Preparing editable metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing editable metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [461 lines of output]
+ meson setup /Users/ip8725/git/pixell /Users/ip8725/git/pixell/build/cp312 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/Users/ip8725/git/pixell/build/cp312/meson-python-native-file.ini
The Meson build system
Version: 1.4.1
Source dir: /Users/ip8725/git/pixell
Build dir: /Users/ip8725/git/pixell/build/cp312
Build type: native build
Project name: pixell
Project version: 0.23.14+70.g43e5b1d
Fortran compiler for the host machine: /usr/local/bin/gfortran (gcc 14.1.0 "GNU Fortran (Homebrew GCC 14.1.0_1) 14.1.0")
Fortran linker for the host machine: /usr/local/bin/gfortran ld64 1053.12
C compiler for the host machine: /usr/local/bin/gcc-14 (gcc 14.1.0 "gcc-14 (Homebrew GCC 14.1.0_1) 14.1.0")
C linker for the host machine: /usr/local/bin/gcc-14 ld64 1053.12
Cython compiler for the host machine: cython (cython 3.0.10)
Host machine cpu family: aarch64
Host machine cpu: aarch64
Program python found: YES (/Users/ip8725/anaconda3/envs/pixell_meson/bin/python3.12)
Did not find pkg-config by name 'pkg-config'
Found pkg-config: NO
Run-time dependency python found: YES 3.12
Run-time dependency OpenMP found: YES 4.5
Library m found: YES
Library m found: YES
Build targets in project: 16
pixell 0.23.14+70.g43e5b1d
User defined options
Native files: /Users/ip8725/git/pixell/build/cp312/meson-python-native-file.ini
buildtype : release
b_ndebug : if-release
b_vscrt : md
Found ninja-1.11.1.git.kitware.jobserver-1 at /Users/ip8725/anaconda3/envs/pixell_meson/bin/ninja
+ /Users/ip8725/anaconda3/envs/pixell_meson/bin/ninja
[1/53] Generating _array_ops_64-f2pywrappers2.f90 with a custom command
Reading fortran codes...
Reading file '../../fortran/array_ops_64.f90' (format:free)
Post-processing...
Block: _array_ops_64
Block: array_ops
Block: matmul_multi_sym
In: :_array_ops_64:../../fortran/array_ops_64.f90:array_ops:matmul_multi_sym
analyzevars: could not parse dimension for variable 'size(b,1)'
In: :_array_ops_64:../../fortran/array_ops_64.f90:array_ops:matmul_multi_sym
analyzevars: could not parse dimension for variable 'size(b,2)'
Block: matmul_multi
Block: ang2rect
Block: find_contours
Block: roll_rows
Applying post-processing hooks...
character_backward_compatibility_hook
Post-processing (stage 2)...
Block: _array_ops_64
Block: unknown_interface
Block: array_ops
Block: matmul_multi_sym
Block: matmul_multi
Block: ang2rect
Block: find_contours
Block: roll_rows
Building modules...
Building module "_array_ops_64"...
Constructing F90 module support for "array_ops"...
Creating wrapper for Fortran subroutine "matmul_multi_sym"("matmul_multi_sym")...
Constructing wrapper function "array_ops.matmul_multi_sym"...
matmul_multi_sym(a,b)
Creating wrapper for Fortran subroutine "matmul_multi"("matmul_multi")...
Constructing wrapper function "array_ops.matmul_multi"...
matmul_multi(a,b,x)
Creating wrapper for Fortran subroutine "ang2rect"("ang2rect")...
Constructing wrapper function "array_ops.ang2rect"...
ang2rect(ang,rect)
Creating wrapper for Fortran subroutine "find_contours"("find_contours")...
Constructing wrapper function "array_ops.find_contours"...
find_contours(imap,vals,omap)
Creating wrapper for Fortran subroutine "roll_rows"("roll_rows")...
Constructing wrapper function "array_ops.roll_rows"...
roll_rows(imap,offsets,omap)
Wrote C/API module "_array_ops_64" to file "./_array_ops_64module.c"
Fortran 90 wrappers are saved to "./_array_ops_64-f2pywrappers2.f90"
[2/53] Generating _colorize-f2pywrappers2.f90 with a custom command
Reading fortran codes...
Reading file '../../fortran/colorize.f90' (format:free)
Post-processing...
Block: _colorize
Block: remap
In: :_colorize:../../fortran/colorize.f90:remap
get_useparameters: no module iso_c_binding info used by remap
In: :_colorize:../../fortran/colorize.f90:remap
analyzevars: could not parse dimension for variable 'size(cols,1)'
Block: direct
In: :_colorize:../../fortran/colorize.f90:direct
get_useparameters: no module iso_c_binding info used by direct
Block: direct_colorcap
In: :_colorize:../../fortran/colorize.f90:direct_colorcap
get_useparameters: no module iso_c_binding info used by direct_colorcap
Applying post-processing hooks...
character_backward_compatibility_hook
Post-processing (stage 2)...
Building modules...
Building module "_colorize"...
Generating possibly empty wrappers"
Maybe empty "_colorize-f2pywrappers2.f90"
Maybe empty "_colorize-f2pywrappers.f"
Creating wrapper for Fortran subroutine "remap"("remap")...
Constructing wrapper function "remap"...
remap(a,res,vals,cols)
Generating possibly empty wrappers"
Maybe empty "_colorize-f2pywrappers2.f90"
Maybe empty "_colorize-f2pywrappers.f"
Creating wrapper for Fortran subroutine "direct"("direct")...
Constructing wrapper function "direct"...
direct(a,res)
Generating possibly empty wrappers"
Maybe empty "_colorize-f2pywrappers2.f90"
Maybe empty "_colorize-f2pywrappers.f"
Creating wrapper for Fortran subroutine "direct_colorcap"("direct_colorcap")...
Constructing wrapper function "direct_colorcap"...
direct_colorcap(a,res)
Wrote C/API module "_colorize" to file "./_colorizemodule.c"
Fortran 90 wrappers are saved to "./_colorize-f2pywrappers2.f90"
[3/53] Generating _array_ops_32-f2pywrappers2.f90 with a custom command
Reading fortran codes...
Reading file '../../fortran/array_ops_32.f90' (format:free)
Post-processing...
Block: _array_ops_32
Block: array_ops
Block: matmul_multi_sym
In: :_array_ops_32:../../fortran/array_ops_32.f90:array_ops:matmul_multi_sym
analyzevars: could not parse dimension for variable 'size(b,1)'
In: :_array_ops_32:../../fortran/array_ops_32.f90:array_ops:matmul_multi_sym
analyzevars: could not parse dimension for variable 'size(b,2)'
Block: matmul_multi
Block: ang2rect
Block: find_contours
Block: roll_rows
Applying post-processing hooks...
character_backward_compatibility_hook
Post-processing (stage 2)...
Block: _array_ops_32
Block: unknown_interface
Block: array_ops
Block: matmul_multi_sym
Block: matmul_multi
Block: ang2rect
Block: find_contours
Block: roll_rows
Building modules...
Building module "_array_ops_32"...
Constructing F90 module support for "array_ops"...
Creating wrapper for Fortran subroutine "matmul_multi_sym"("matmul_multi_sym")...
Constructing wrapper function "array_ops.matmul_multi_sym"...
matmul_multi_sym(a,b)
Creating wrapper for Fortran subroutine "matmul_multi"("matmul_multi")...
Constructing wrapper function "array_ops.matmul_multi"...
matmul_multi(a,b,x)
Creating wrapper for Fortran subroutine "ang2rect"("ang2rect")...
Constructing wrapper function "array_ops.ang2rect"...
ang2rect(ang,rect)
Creating wrapper for Fortran subroutine "find_contours"("find_contours")...
Constructing wrapper function "array_ops.find_contours"...
find_contours(imap,vals,omap)
Creating wrapper for Fortran subroutine "roll_rows"("roll_rows")...
Constructing wrapper function "array_ops.roll_rows"...
roll_rows(imap,offsets,omap)
Wrote C/API module "_array_ops_32" to file "./_array_ops_32module.c"
Fortran 90 wrappers are saved to "./_array_ops_32-f2pywrappers2.f90"
[4/53] Compiling C object lib_distances_shared.dylib.p/cython_distances_core.c.o
FAILED: lib_distances_shared.dylib.p/cython_distances_core.c.o
/usr/local/bin/gcc-14 -Ilib_distances_shared.dylib.p -I. -I../.. -I../../../../anaconda3/envs/pixell_meson/lib/python3.12/site-packages/numpy/_core/include -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -O3 -fopenmp -MD -MQ lib_distances_shared.dylib.p/cython_distances_core.c.o -MF lib_distances_shared.dylib.p/cython_distances_core.c.o.d -o lib_distances_shared.dylib.p/cython_distances_core.c.o -c ../../cython/distances_core.c
../../cython/distances_core.c: In function 'find_relevant_cells':
../../cython/distances_core.c:566:48: error: passing argument 4 of 'qsort' from incompatible pointer type [-Wincompatible-pointer-types]
566 | qsort(cands->y, cands->n, sizeof(int), compar_int);
| ^~~~~~~~~~
| |
| int (*)(int *, int *)
In file included from ../../cython/distances_core.c:3:
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdlib.h:161:29: note: expected 'int (*)(const void *, const void *)' but argument is of type 'int (*)(int *, int *)'
161 | int (* _Nonnull __compar)(const void *, const void *));
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../cython/distances_core.c: In function 'fetch_edge':
../../cython/distances_core.c:603:13: warning: unused variable 'fnmax' [-Wunused-variable]
603 | int fnmax = cfrom->ny*cfrom->nx;
| ^~~~~
../../cython/distances_core.c:602:13: warning: unused variable 'tnmax' [-Wunused-variable]
602 | int tnmax = cto->ny*cto->nx;
| ^~~~~
[5/53] Module scanner.
[6/53] Generating _interpol_32-f2pywrappers2.f90 with a custom command
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
Reading fortran codes...
Reading file '../../fortran/interpol_32.f90' (format:free)
Post-processing...
Block: _interpol_32
Block: fortran
Block: sinc
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:sinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:sinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 8
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:sinc
analyzevars: prefix ('pure') were not used
Block: dsinc
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:dsinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:dsinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 8
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:dsinc
analyzevars: prefix ('pure') were not used
Block: spline_filter1d
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:spline_filter1d
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 8
Block: get_weight_length
Block: calc_weights_deriv
Block: interpol
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_deriv
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_old
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_deriv_old
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_32:../../fortran/interpol_32.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
Applying post-processing hooks...
character_backward_compatibility_hook
Post-processing (stage 2)...
Block: _interpol_32
Block: unknown_interface
Block: fortran
Block: sinc
Block: dsinc
Block: spline_filter1d
Block: get_weight_length
Block: calc_weights_deriv
Block: interpol
Block: interpol_deriv
Block: interpol_old
Block: interpol_deriv_old
Building modules...
Building module "_interpol_32"...
Constructing F90 module support for "fortran"...
Creating wrapper for Fortran function "sinc"("sinc")...
Constructing wrapper function "fortran.sinc"...
sinc = sinc(x)
Creating wrapper for Fortran function "dsinc"("dsinc")...
Constructing wrapper function "fortran.dsinc"...
dsinc = dsinc(x)
Creating wrapper for Fortran subroutine "spline_filter1d"("spline_filter1d")...
Constructing wrapper function "fortran.spline_filter1d"...
spline_filter1d(data,dims,axis,order,border,trans)
Creating wrapper for Fortran function "get_weight_length"("get_weight_length")...
Constructing wrapper function "fortran.get_weight_length"...
n = get_weight_length(type_bn,order)
Creating wrapper for Fortran subroutine "calc_weights_deriv"("calc_weights_deriv")...
Constructing wrapper function "fortran.calc_weights_deriv"...
calc_weights_deriv(type_bn,order,p,weights,off)
Creating wrapper for Fortran subroutine "interpol"("interpol")...
Constructing wrapper function "fortran.interpol"...
interpol(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_deriv"("interpol_deriv")...
Constructing wrapper function "fortran.interpol_deriv"...
interpol_deriv(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_old"("interpol_old")...
Constructing wrapper function "fortran.interpol_old"...
interpol_old(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_deriv_old"("interpol_deriv_old")...
Constructing wrapper function "fortran.interpol_deriv_old"...
interpol_deriv_old(idata,ishape,odata,pos,type_bn,order,border,trans)
Wrote C/API module "_interpol_32" to file "./_interpol_32module.c"
Fortran 90 wrappers are saved to "./_interpol_32-f2pywrappers2.f90"
[7/53] Generating _interpol_64-f2pywrappers2.f90 with a custom command
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
rmbadname1: Replacing "type" with "type_bn".
Reading fortran codes...
Reading file '../../fortran/interpol_64.f90' (format:free)
Post-processing...
Block: _interpol_64
Block: fortran
Block: sinc
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:sinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:sinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:sinc
analyzevars: prefix ('pure') were not used
Block: dsinc
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:dsinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:dsinc
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:dsinc
analyzevars: prefix ('pure') were not used
Block: spline_filter1d
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:spline_filter1d
param_eval: got "eval() arg 1 must be a string, bytes or code object" on 4
Block: get_weight_length
Block: calc_weights_deriv
Block: interpol
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_deriv
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(idata,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_old
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
Block: interpol_deriv_old
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(idata,1)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
In: :_interpol_64:../../fortran/interpol_64.f90:fortran:interpol_deriv_old
analyzevars: could not parse dimension for variable 'size(pos,2)'
Applying post-processing hooks...
character_backward_compatibility_hook
Post-processing (stage 2)...
Block: _interpol_64
Block: unknown_interface
Block: fortran
Block: sinc
Block: dsinc
Block: spline_filter1d
Block: get_weight_length
Block: calc_weights_deriv
Block: interpol
Block: interpol_deriv
Block: interpol_old
Block: interpol_deriv_old
Building modules...
Building module "_interpol_64"...
Constructing F90 module support for "fortran"...
Creating wrapper for Fortran function "sinc"("sinc")...
Constructing wrapper function "fortran.sinc"...
sinc = sinc(x)
Creating wrapper for Fortran function "dsinc"("dsinc")...
Constructing wrapper function "fortran.dsinc"...
dsinc = dsinc(x)
Creating wrapper for Fortran subroutine "spline_filter1d"("spline_filter1d")...
Constructing wrapper function "fortran.spline_filter1d"...
spline_filter1d(data,dims,axis,order,border,trans)
Creating wrapper for Fortran function "get_weight_length"("get_weight_length")...
Constructing wrapper function "fortran.get_weight_length"...
n = get_weight_length(type_bn,order)
Creating wrapper for Fortran subroutine "calc_weights_deriv"("calc_weights_deriv")...
Constructing wrapper function "fortran.calc_weights_deriv"...
calc_weights_deriv(type_bn,order,p,weights,off)
Creating wrapper for Fortran subroutine "interpol"("interpol")...
Constructing wrapper function "fortran.interpol"...
interpol(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_deriv"("interpol_deriv")...
Constructing wrapper function "fortran.interpol_deriv"...
interpol_deriv(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_old"("interpol_old")...
Constructing wrapper function "fortran.interpol_old"...
interpol_old(idata,ishape,odata,pos,type_bn,order,border,trans)
Creating wrapper for Fortran subroutine "interpol_deriv_old"("interpol_deriv_old")...
Constructing wrapper function "fortran.interpol_deriv_old"...
interpol_deriv_old(idata,ishape,odata,pos,type_bn,order,border,trans)
Wrote C/API module "_interpol_64" to file "./_interpol_64module.c"
Fortran 90 wrappers are saved to "./_interpol_64-f2pywrappers2.f90"
[8/53] Compiling C object _colorize.cpython-312-darwin.so.p/meson-generated_..__colorizemodule.c.o
[9/53] Compiling C object _array_ops_64.cpython-312-darwin.so.p/meson-generated_..__array_ops_64module.c.o
[10/53] Compiling C object lib_cmisc_shared.dylib.p/cython_cmisc_core.c.o
[11/53] Compiling C object _array_ops_32.cpython-312-darwin.so.p/1baf9236dc166f61fa1ab72a009d94b02a7bac7d_site-packages_numpy_f2py_src_fortranobject.c.o
[12/53] Compiling C object _colorize.cpython-312-darwin.so.p/1baf9236dc166f61fa1ab72a009d94b02a7bac7d_site-packages_numpy_f2py_src_fortranobject.c.o
[13/53] Compiling C object _interpol_32.cpython-312-darwin.so.p/1baf9236dc166f61fa1ab72a009d94b02a7bac7d_site-packages_numpy_f2py_src_fortranobject.c.o
[14/53] Compiling C object _interpol_64.cpython-312-darwin.so.p/1baf9236dc166f61fa1ab72a009d94b02a7bac7d_site-packages_numpy_f2py_src_fortranobject.c.o
[15/53] Compiling C object _array_ops_64.cpython-312-darwin.so.p/1baf9236dc166f61fa1ab72a009d94b02a7bac7d_site-packages_numpy_f2py_src_fortranobject.c.o
ninja: build stopped: subcommand failed.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Initial version of the meson build system.
A few outstanding items: