Skip to content

Not possible to use bottleneck as a dependency on linux arm64 with rules_python 0.37.0 #2328

@mark-thm

Description

@mark-thm

🐞 bug report

Affected Rule

whl_library

Is this a regression?

Yes, last functioned in rules_python 0.34.0.

Description

It's not possible to use bottleneck as a dependency on linux arm64 with rules_python 0.37.0

🔬 Minimal Reproduction

https://github.com/theoremlp/rules_python_repro

🔥 Exception or Error


INFO: Repository rules_python~~pip~pip_312_bottleneck_sdist_fa8e8e17 instantiated at:
  : in 
Repository rule whl_library defined at:
  /home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/pypi/whl_library.bzl:457:30: in 
ERROR: An error occurred during the fetch of repository 'rules_python~~pip~pip_312_bottleneck_sdist_fa8e8e17':
   Traceback (most recent call last):
	File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/pypi/whl_library.bzl", line 245, column 35, in _whl_library_impl
		repo_utils.execute_checked(
	File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/repo_utils.bzl", line 212, column 29, in _execute_checked
		return _execute_internal(fail_on_error = True, *args, **kwargs)
	File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/repo_utils.bzl", line 143, column 20, in _execute_internal
		logger.fail((
	File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/repo_utils.bzl", line 85, column 39, in lambda
		fail = lambda message_cb: _log(-1, "FAIL", message_cb, fail),
	File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/repo_utils.bzl", line 75, column 16, in _log
		printer("\nrules_python:{} {}:".format(
Error in fail: 
rules_python:whl_library(@@rules_python~~pip~pip_312_bottleneck_sdist_fa8e8e17) FAIL: repo.execute: whl_library.BuildWheelFromSource(rules_python~~pip~pip_312_bottleneck_sdist_fa8e8e17, bottleneck==1.4.2): end: failure:
  command: /home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~python~python_3_12_host/python -m python.private.pypi.whl_installer.wheel_installer --requirement bottleneck==1.4.2 --isolated --extra_pip_args "{\"arg\":[\"--no-build-isolation\",\"--find-links\",\".\"]}" --pip_data_exclude "{\"arg\":[]}" --enable_implicit_namespace_pkgs --environment "{\"arg\":{}}"
  return code: 1
  working dir: 
  timeout: 600
  environment:
PYTHONPATH="/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__build:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__click:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__colorama:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__importlib_metadata:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__installer:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__more_itertools:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__packaging:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__pep517:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__pip:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__pip_tools:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__pyproject_hooks:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__tomli:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__wheel:/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__zipp"
CPPFLAGS="-isystem /home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~python~python_3_12_host/include/python3.12"
===== stdout start =====
Looking in links: .
Collecting bottleneck==1.4.2 (from -r /tmp/tmpykoshwh7 (line 1))
  File was already downloaded /home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~pip~pip_312_bottleneck_sdist_fa8e8e17/bottleneck-1.4.2.tar.gz
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
===== stdout end =====
===== stderr start =====
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/command/egg_info.py", line 321, in run
          self.find_sources()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/command/egg_info.py", line 329, in find_sources
          mm.run()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/command/egg_info.py", line 550, in run
          self.add_defaults()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/command/egg_info.py", line 588, in add_defaults
          sdist.add_defaults(self)
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/command/sdist.py", line 102, in add_defaults
          super().add_defaults()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/_distutils/command/sdist.py", line 250, in add_defaults
          self._add_defaults_ext()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/_distutils/command/sdist.py", line 334, in _add_defaults_ext
          build_ext = self.get_finalized_command('build_ext')
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/_distutils/cmd.py", line 303, in get_finalized_command
          cmd_obj.ensure_finalized()
        File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~internal_deps~pypi__setuptools/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
          self.finalize_options()
        File "", line 76, in finalize_options
      ModuleNotFoundError: No module named 'numpy'
      [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.
Traceback (most recent call last):
  File "", line [19](https://github.com/theoremlp/rules_python_repro/actions/runs/11463773942/job/31898410925#step:5:20)8, in _run_module_as_main
  File "", line 88, in _run_code
  File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/pypi/whl_installer/wheel_installer.py", line [20](https://github.com/theoremlp/rules_python_repro/actions/runs/11463773942/job/31898410925#step:5:21)5, in 
    main()
  File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~/python/private/pypi/whl_installer/wheel_installer.py", line 190, in main
    subprocess.run(pip_args, check=True, env=env)
  File "/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d624/external/rules_python~~python~python_3_12_aarch64-unknown-linux-gnu/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/runner/.cache/bazel/_bazel_runner/8266b8631ad340f3d61644857ec7d6[24](https://github.com/theoremlp/rules_python_repro/actions/runs/11463773942/job/31898410925#step:5:25)/external/rules_python~~python~python_3_12_host/python', '-m', 'pip', '--isolated', 'wheel', '--no-deps', '--no-build-isolation', '--find-links', '.', '-r', '/tmp/tmpykoshwh7']' returned non-zero exit status 1.
===== stderr end =====
Analyzing: 142 targets (6 packages loaded, 1540 targets configured)
[1 / 1] checking cached actions
ERROR: Analysis of target '@@rules_python~~pip~pip//bottleneck:whl' failed; build aborted: Analysis failed
INFO: Elapsed time: 6.453s, Critical Path: 0.01s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully

🌍 Your Environment

Operating System:

  
linux, arm64
  

Output of bazel version:

  
Bazelisk version: 1.22.0
Build label: 7.3.2
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Tue Oct 1 17:48:21 2024 (1727804901)
Build timestamp: 1727804901
Build timestamp as int: 1727804901
  

Rules_python version:

  
0.37.0
  

Anything else relevant?

Related:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions