Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Race condition when building with Meson #28820

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

Closed
lesteve opened this issue Apr 12, 2024 · 2 comments
Closed

Race condition when building with Meson #28820

lesteve opened this issue Apr 12, 2024 · 2 comments

Comments

@lesteve
Copy link
Member

lesteve commented Apr 12, 2024

Opening this to track it in an issue rather than seeing it appear in spread-out PRs.

The error looks like this:

[61/249] Compiling Cython source sklearn/linear_model/_sgd_fast.pyx
FAILED: sklearn/linear_model/_sgd_fast.cpython-312-darwin.so.p/sklearn/linear_model/_sgd_fast.pyx.c
cython -M --fast-fail -3 '-X language_level=3' '-X boundscheck=False' '-X wraparound=False' '-X initializedcheck=False' '-X nonecheck=False' '-X cdivision=True' '-X profile=False' --include-dir /Users/runner/work/1/s/build/cp312 sklearn/linear_model/_sgd_fast.pyx -o sklearn/linear_model/_sgd_fast.cpython-312-darwin.so.p/sklearn/linear_model/_sgd_fast.pyx.c


from cython cimport floating
from libc.math cimport exp, fabs, isfinite, log, pow, INFINITY

from ..utils._typedefs cimport uint32_t
^
------------------------------------------------------------

sklearn/linear_model/_sgd_fast.pyx:9:0: relative cimport from non-package directory is not allowed

or like this:

[60/249] Compiling Cython source /Users/runner/work/1/s/sklearn/cluster/_hdbscan/_linkage.pyx
  FAILED: sklearn/cluster/_hdbscan/_linkage.cpython-312-darwin.so.p/sklearn/cluster/_hdbscan/_linkage.pyx.c
  cython -M --fast-fail -3 '-X language_level=3' '-X boundscheck=False' '-X wraparound=False' '-X initializedcheck=False' '-X nonecheck=False' '-X cdivision=True' '-X profile=False' --include-dir /Users/runner/work/1/s/build/cp312 /Users/runner/work/1/s/sklearn/cluster/_hdbscan/_linkage.pyx -o sklearn/cluster/_hdbscan/_linkage.cpython-312-darwin.so.p/sklearn/cluster/_hdbscan/_linkage.pyx.c

  Error compiling Cython file:
  ------------------------------------------------------------
  ...

  cimport numpy as cnp
  from libc.float cimport DBL_MAX

  import numpy as np
  from ...metrics._dist_metrics cimport DistanceMetric64
  ^
  ------------------------------------------------------------

  /Users/runner/work/1/s/sklearn/cluster/_hdbscan/_linkage.pyx:38:0: 'sklearn/metrics/_dist_metrics.pxd' not found

Some files __init__.py of .pxd need to be copied to the Meson build dir before the extension using cimport can be built. Since the Meson (or rather ninja) build order is based on dependencies (there is no way to tweak the build order ninja-build/ninja#232), when you are unlucky it does not happen in the right order and the file is not found. Not clear to me right now whether this is a Meson issue or not.

For some unknown reason, until now this has always happened in the no-OpenMP build. I tried to reproduce on OSX with the no-OpenMP lock-file but I did not manage to reproduce.

Occurences of this:

@ngoldbaum
Copy link
Contributor

I think this just happened on #28980

@lesteve
Copy link
Member Author

lesteve commented Jun 4, 2024

Let's closed this one and reopen if this ever happens again. It looks like this has not happened in a some time so 🤞

@lesteve lesteve closed this as completed Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants