conda-forge / conda-forge/numpy-feedstock
f2py entry point with non-functioning shebang in osx-arm cross-compile
- Dominant language
- Shell
- Stars
- 10
- Forks
- 52
- Avg merge
- 4h 45m
- Merged PRs (30d)
- 5
Description
### Solution to issue cannot be found in the documentation.
- [X] I checked the documentation.
### Issue
With
```yaml
requirements:
build:
- numpy # [build_platform != target_platform]
```
[for the osx-arm cross-compilation, calling f2py3 fails with](https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=534009&view=logs&j=385a3385-ae8b-54d1-9abe-3c614f74cb73&t=a5f9d343-149e-5621-6ab9-f0278009be04&l=395):
```
/Users/runner/miniforge3/conda-bld/slycot_1657493761007/_build_env/bin/f2py3: line 3: import: command not found
/Users/runner/miniforge3/conda-bld/slycot_1657493761007/_build_env/bin/f2py3: line 4: import: command not found
from: can't read /var/mail/numpy.f2py.f2py2e
/Users/runner/miniforge3/conda-bld/slycot_1657493761007/_build_env/bin/f2py3: line 7: syntax error near unexpected token `('
/Users/runner/miniforge3/conda-bld/slycot_1657493761007/_build_env/bin/f2py3: line 7: ` sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])'
```
```
$> which f2py3
$BUILD_PREFIX/bin/f2py3
$> head f2py3
#!$BUILD_PREFIX/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from numpy.f2py.f2py2e import main
```
See discussion in https://github.com/conda-forge/slycot-feedstock/pull/50 and https://github.com/conda-forge/slycot-feedstock/pull/49.
cc @conda-forge/help-osx-arm64
### Installed packages
```shell
bzip2: 1.0.8-h3422bc3_4 conda-forge
c-ares: 1.18.1-h3422bc3_0 conda-forge
ca-certificates: 2022.6.15-h4653dfc_0 conda-forge
cmake: 3.23.2-h52850c7_0 conda-forge
distro: 1.6.0-pyhd8ed1ab_0 conda-forge
expat: 2.4.8-h6b3803e_0 conda-forge
krb5: 1.19.3-he492e65_0 conda-forge
libblas: 3.9.0-5_h880f123_netlib conda-forge
libcblas: 3.9.0-5_h880f123_netlib conda-forge
libcurl: 7.83.1-h7965298_0 conda-forge
libcxx: 14.0.6-h04bba0f_0 conda-forge
libedit: 3.1.20191231-hc8eb9b7_2 conda-forge
libev: 4.33-h642e427_1 conda-forge
libffi: 3.4.2-h3422bc3_5 conda-forge
libgfortran: 5.0.0.dev0-11_0_1_hf114ba7_23 conda-forge
libgfortran5: 11.0.1.dev0-hf114ba7_23 conda-forge
liblapack: 3.9.0-5_h880f123_netlib conda-forge
libnghttp2: 1.47.0-hf30690b_0 conda-forge
libssh2: 1.10.0-h7a5bd25_2 conda-forge
libuv: 1.43.0-h3422bc3_0 conda-forge
libzlib: 1.2.12-ha287fd2_1 conda-forge
llvm-openmp: 14.0.4-hd125106_0 conda-forge
lz4-c: 1.9.3-hbdafb3b_1 conda-forge
make: 4.3-he57ea6c_1 conda-forge
ncurses: 6.3-h07bb92c_1 conda-forge
numpy: 1.23.1-py310h0a343b5_0 conda-forge
openssl: 3.0.5-ha287fd2_0 conda-forge
packaging: 21.3-pyhd8ed1ab_0 conda-forge
pip: 22.1.2-pyhd8ed1ab_0 conda-forge
pyparsing: 3.0.9-pyhd8ed1ab_0 conda-forge
python: 3.10.5-h4eee789_0_cpython conda-forge
python_abi: 3.10-2_cp310 conda-forge
readline: 8.1.2-h46ed386_0 conda-forge
rhash: 1.4.3-he4db4b2_0 conda-forge
scikit-build: 0.15.0-pyhb871ab6_0 conda-forge
setuptools: 63.1.0-py310hbe9552e_0 conda-forge
sqlite: 3.39.0-h40dfcc0_0 conda-forge
tk: 8.6.12-he1e0b03_0 conda-forge
tzdata: 2022a-h191b570_0 conda-forge
wheel: 0.37.1-pyhd8ed1ab_0 conda-forge
xz: 5.2.5-h642e427_1 conda-forge
zlib: 1.2.12-ha287fd2_1 conda-forge
zstd: 1.5.2-hd705a24_2 conda-forge
bzip2: 1.0.8-h0d85af4_4 conda-forge
c-ares: 1.18.1-h0d85af4_0 conda-forge
ca-certificates: 2022.6.15-h033912b_0 conda-forge
cctools_osx-64: 973.0.1-h3eff9a4_10 conda-forge
cctools_osx-arm64: 973.0.1-h98580c8_10 conda-forge
clang: 13.0.1-h694c41f_0 conda-forge
clang-13: 13.0.1-default_he082bbe_0 conda-forge
clang_osx-arm64: 13.0.1-hdd0e76e_2 conda-forge
clangxx: 13.0.1-default_he082bbe_0 conda-forge
cmake: 3.23.2-hf2c7296_0 conda-forge
compiler-rt: 13.0.1-he01351e_0 conda-forge
compiler-rt_osx-64: 13.0.1-hd3f61c9_0 conda-forge
cross-python_osx-arm64: 3.10-27_cpython conda-forge
crossenv: 1.2.0-pyhd8ed1ab_7 conda-forge
distro: 1.6.0-pyhd8ed1ab_0 conda-forge
expat: 2.4.8-h96cf925_0 conda-forge
gettext: 0.19.8.1-hd1a6beb_1008 conda-forge
gfortran_impl_osx-64: 9.3.0-h9cc0e5e_23 conda-forge
gfortran_impl_osx-arm64: 11.0.1.dev0-h3653101_23 conda-forge
gfortran_osx-arm64: 11.0.1.dev0-h64a2375_15 conda-forge
gmp: 6.2.1-h2e338ed_0 conda-forge
isl: 0.22.1-hb1e8313_2 conda-forge
krb5: 1.19.3-hb98e516_0 conda-forge
ld64_osx-64: 609-h6fbe7a8_10 conda-forge
```
### Environment info
```shell
(conda-forge osx-arm build on azure)
```
Contributor guide
Research direction
Start by reproducing the osx-arm cross-compilation failure with the shown build requirements, then inspect the generated $BUILD_PREFIX/bin/f2py3 entry point and its shebang. Done means invoking f2py3 during the cross-build runs through the appropriate Python interpreter instead of being parsed by the shell.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python, yaml
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100