numpy icon indicating copy to clipboard operation
numpy copied to clipboard

f2py fails to link program on windows using v1.26.0 - works on earlier versions of numpy

Open keithini opened this issue 1 year ago • 6 comments

Describe the issue:

I have an old fortran program that I access from python using f2py. I have used this successfully on both linux and windows. I have moved successfully to 1.26 on linux but get a link error (1120 unresolved externals) on windows 11. I replicated the problem using a basic fibonacci fortran program (below)

Reproduce the code example:

subroutine fib(a, n)
  use iso_c_binding
   integer(c_int), intent(in) :: n
   integer(c_int), intent(out) :: a(n)
   do i = 1, n
      if (i .eq. 1) then
         a(i) = 0.0d0
      elseif (i .eq. 2) then
         a(i) = 1.0d0
      else
         a(i) = a(i - 1) + a(i - 2)
      end if
   end do
end

Error message:

(aov) C:\fib_test>f2py -c fib1.f90 -m fib1 --backend meson
Using meson backend
Will pass --lower to f2py
See https://numpy.org/doc/stable/f2py/buildtools/meson.htmlReading fortran codes...
        Reading file 'fib1.f90' (format:free)
Post-processing...
        Block: fib1
                        Block: fib
In: :fib1:fib1.f90:fib
get_useparameters: no module iso_c_binding info used by fib
Applying post-processing hooks...
  character_backward_compatibility_hook
Post-processing (stage 2)...
Building modules...
    Building module "fib1"...
    Generating possibly empty wrappers"
    Maybe empty "fib1-f2pywrappers.f"
        Constructing wrapper function "fib"...
          a = fib(n)
    Wrote C/API module "fib1" to file ".\fib1module.c"
The Meson build system
Version: 1.2.1
Source dir: C:\Users\keith\AppData\Local\Temp\tmp679okcip
Build dir: C:\Users\keith\AppData\Local\Temp\tmp679okcip\bbdir
Build type: native build
Project name: fib1
Project version: 0.1
Fortran compiler for the host machine: ifx (intel-llvm-cl 2022.1.0)
Fortran linker for the host machine: xilink.exe xilink 2022.1.0
C compiler for the host machine: cl (msvc 19.29.30146 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30146 for x64")
C linker for the host machine: link link 14.29.30146.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (C:\Users\keith\anaconda3\envs\aov\python.exe)
Run-time dependency python found: YES 3.12
Build targets in project: 1

Found ninja-1.10.2 at C:\Users\keith\anaconda3\envs\aov\Library\bin\ninja.EXE
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: C:\Users\keith\anaconda3\envs\aov\Library\bin\ninja.EXE -C C:/Users/keith/AppData/Local/Temp/tmp679okcip/bbdir
ninja: Entering directory `C:/Users/keith/AppData/Local/Temp/tmp679okcip/bbdir'
[4/6] Compiling Fortran object fib1.cp312-win_amd64.pyd.p/fib1-f2pywrappers.f.obj
../fib1-f2pywrappers.f: remark #5133: The input stream is empty
[6/6] Linking target fib1.cp312-win_amd64.pyd
FAILED: fib1.cp312-win_amd64.pyd
"link"  /MACHINE:x64 /OUT:fib1.cp312-win_amd64.pyd fib1.cp312-win_amd64.pyd.p/fib1.f90.obj fib1.cp312-win_amd64.pyd.p/fib1module.c.obj fib1.cp312-win_amd64.pyd.p/fib1-f2pywrappers.f.obj fib1.cp312-win_amd64.pyd.p/42bc432c09fd0a50dc493f9b8a0dabb66e5dad74_.._.._f2py_src_fortranobject.c.obj "/nologo" "/release" "/nologo" "/OPT:REF" "/DLL" "/IMPLIB:fib1.cp312-win_amd64.lib" "-shared" "C:\Users\keith\anaconda3\envs\aov\libs\python312.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib"
LINK : warning LNK4044: unrecognized option '/shared'; ignored
   Creating library fib1.cp312-win_amd64.lib and object fib1.cp312-win_amd64.exp
fib1module.c.obj : error LNK2001: unresolved external symbol fib_
fib1.cp312-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "C:\Users\keith\anaconda3\envs\aov\Scripts\f2py-script.py", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\f2py2e.py", line 732, in main
    run_compile()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\f2py2e.py", line 705, in run_compile
    builder.compile()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\_backends\_meson.py", line 131, in compile
    self.run_meson(self.build_dir)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\_backends\_meson.py", line 124, in run_meson
    raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['meson', 'compile', '-C', 'bbdir']' returned non-zero exit status 1.

Python and NumPy Versions:

python 3.12.3 Numpy 1.26.0

Runtime Environment:

(aov) C:\Users\keith\temp\fib_test>python -c "import numpy; print(numpy.show_runtime())" [{'numpy_version': '1.26.0', 'python': '3.12.3 | packaged by Anaconda, Inc. | (main, Apr 19 2024, ' '16:41:55) [MSC v.1916 64 bit (AMD64)]', 'uname': uname_result(system='Windows', node='LENNY2', release='11', version='10.0.22631', machine='AMD64')}, {'simd_extensions': {'baseline': ['SSE', 'SSE2', 'SSE3'], 'found': ['SSSE3', 'SSE41', 'POPCNT', 'SSE42', 'AVX', 'F16C', 'FMA3', 'AVX2'], 'not_found': ['AVX512F', 'AVX512CD', 'AVX512_SKX', 'AVX512_CLX', 'AVX512_CNL', 'AVX512_ICL']}}, {'filepath': 'C:\Users\keith\anaconda3\envs\aov\Library\bin\mkl_rt.2.dll', 'internal_api': 'mkl', 'num_threads': 8, 'prefix': 'mkl_rt', 'threading_layer': 'intel', 'user_api': 'blas', 'version': '2023.1-Product'}] None

Context for the issue:

A user has upgraded to python 3.12 and cannot use our product

keithini avatar Apr 26 '24 17:04 keithini

Can you try again with numpy 1.26.4? Numpy 1.26.3 had a number of f2py-related fixes.

ngoldbaum avatar Apr 26 '24 18:04 ngoldbaum

Hi Nathan

Yes – certainly. I have updated to 1.26.4 and I get a different set of errors:-

(aov) C:\Users\keith\temp\fib_test>f2py -c fib1.f90 -m fib1 --backend meson
Using meson backend
Will pass --lower to f2py
See https://numpy.org/doc/stable/f2py/buildtools/meson.html
Reading fortran codes...
        Reading file 'fib1.f90' (format:free)
Post-processing...
        Block: fib1
                        Block: fib
In: :fib1:fib1.f90:fib
get_useparameters: no module iso_c_binding info used by fib
Applying post-processing hooks...
  character_backward_compatibility_hook
Post-processing (stage 2)...
Building modules...
    Building module "fib1"...
    Generating possibly empty wrappers"
    Maybe empty "fib1-f2pywrappers.f"
        Constructing wrapper function "fib"...
          a = fib(n)
    Wrote C/API module "fib1" to file ".\fib1module.c"
The Meson build system
Version: 1.2.1
Source dir: C:\Users\keith\AppData\Local\Temp\tmpz_nfwcsm
Build dir: C:\Users\keith\AppData\Local\Temp\tmpz_nfwcsm\bbdir
Build type: native build
Project name: fib1
Project version: 0.1
Fortran compiler for the host machine: ifx (intel-llvm-cl 2022.1.0)
Fortran linker for the host machine: xilink.exe xilink 2022.1.0
C compiler for the host machine: cl (msvc 19.29.30146 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30146 for x64")
C linker for the host machine: link link 14.29.30146.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Traceback (most recent call last):
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\mesonmain.py", line 194, in run
    return options.run_func(options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\msetup.py", line 358, in run
    app.generate()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\msetup.py", line 183, in generate
    return self._generate(env, capture, vslite_ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\msetup.py", line 228, in _generate
    intr.run()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 2997, in run
    super().run()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 164, in run
    self.evaluate_codeblock(self.ast, start=1)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 190, in evaluate_codeblock
    raise e
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 182, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 198, in evaluate_statement
    self.assignment(cur)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 635, in assignment
    value = self.evaluate_statement(node.value)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 200, in evaluate_statement
    return self.method_call(cur)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 550, in method_call
    res = obj.method_call(method_name, args, kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreter\interpreterobjects.py", line 811, in method_call
    ret = method(state, args, kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 109, in wrapped
    ret = f(*wrapped_args, **wrapped_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 277, in wrapper
    return f(*nargs, **wrapped_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 596, in wrapper
    return f(*wrapped_args, **wrapped_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\modules\python.py", line 437, in find_installation
    python = self._find_installation_impl(state, display_name, name_or_path, required)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\modules\python.py", line 393, in _find_installation_impl
    if python.sanity(state):
       ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\modules\python.py", line 74, in sanity
    ret = super().sanity()
          ^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\dependencies\python.py", line 116, in sanity
    p, stdout, stderr = mesonlib.Popen_safe(cmd)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\utils\universal.py", line 1483, in Popen_safe
    p, o, e = Popen_safe_legacy(args, write=write, stdin=stdin, stdout=stdout, stderr=stderr, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\mesonbuild\utils\universal.py", line 1505, in Popen_safe_legacy
    p = subprocess.Popen(args, universal_newlines=False, close_fds=False,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\keith\anaconda3\envs\aov\Lib\subprocess.py", line 1538, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
 
ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.
Traceback (most recent call last):
  File "C:\Users\keith\anaconda3\envs\aov\Scripts\f2py-script.py", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\f2py2e.py", line 766, in main
    run_compile()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\f2py2e.py", line 738, in run_compile
    builder.compile()
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\_backends\_meson.py", line 178, in compile
    self.run_meson(self.build_dir)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\_backends\_meson.py", line 171, in run_meson
    self._run_subprocess_command(setup_command, build_dir)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\site-packages\numpy\f2py\_backends\_meson.py", line 167, in _run_subprocess_command
    subprocess.run(command, cwd=cwd, check=True)
  File "C:\Users\keith\anaconda3\envs\aov\Lib\subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['meson', 'setup', 'bbdir']' returned non-zero exit status 2.

Regards

keith

EDIT (seberg): tied to fix formatting, but emails just disable any markdown stuff, so can only remove the spurious newlines...

keithini avatar Apr 26 '24 18:04 keithini

@HaoZeke Thoughts?

charris avatar Apr 27 '24 01:04 charris

@HaoZeke Thoughts?

Thanks for the ping. Since this is windows and related to not finding an executable, it might be fixed by https://github.com/numpy/numpy/pull/26248

@keithini could you try to reproduce this bug on main after #26248?

Beyond that I will try to reproduce this on a windows machine if I can

HaoZeke avatar Apr 28 '24 19:04 HaoZeke

Hi I was not exactly sure what I needed to do to implement "main after #26248" and so I started again with a clean environment and installed numpy 1.26.4. When I tried f2py I got the same errors:

C:\Users\keith\temp\fib_test>f2py -c fib1.f90 -m fib1 --backend meson Using meson backend Will pass --lower to f2py See https://numpy.org/doc/stable/f2py/buildtools/meson.html Reading fortran codes... Reading file 'fib1.f90' (format:free) Post-processing... Block: fib1 Block: fib In: :fib1:fib1.f90:fib get_useparameters: no module iso_c_binding info used by fib Applying post-processing hooks... character_backward_compatibility_hook Post-processing (stage 2)... Building modules... Building module "fib1"... Generating possibly empty wrappers" Maybe empty "fib1-f2pywrappers.f" Constructing wrapper function "fib"... a = fib(n) Wrote C/API module "fib1" to file ".\fib1module.c" The Meson build system Version: 1.3.1 Source dir: C:\Users\keith\AppData\Local\Temp\tmpjd_uuokj Build dir: C:\Users\keith\AppData\Local\Temp\tmpjd_uuokj\bbdir Build type: native build Project name: fib1 Project version: 0.1 Fortran compiler for the host machine: ifort (intel-cl 2021.6.0) Fortran linker for the host machine: xilink.exe xilink 2021.6.0 C compiler for the host machine: cl (msvc 19.29.30146 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30146 for x64") C linker for the host machine: link link 14.29.30146.0 Host machine cpu family: x86_64 Host machine cpu: x86_64 Traceback (most recent call last): File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\mesonmain.py", line 194, in run return options.run_func(options) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\msetup.py", line 358, in run app.generate() File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\msetup.py", line 181, in generate return self._generate(env, capture, vslite_ctx) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\msetup.py", line 226, in _generate intr.run() File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreter\interpreter.py", line 3004, in run super().run() File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 172, in run self.evaluate_codeblock(self.ast, start=1) File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 198, in evaluate_codeblock raise e File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 190, in evaluate_codeblock self.evaluate_statement(cur) File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 208, in evaluate_statement self.assignment(cur) File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 644, in assignment value = self.evaluate_statement(node.value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 210, in evaluate_statement return self.method_call(cur) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 559, in method_call res = obj.method_call(method_name, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreter\interpreterobjects.py", line 830, in method_call ret = method(state, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 108, in wrapped ret = f(*wrapped_args, **wrapped_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 260, in wrapper return f(*nargs, **wrapped_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 579, in wrapper return f(*wrapped_args, **wrapped_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\modules\python.py", line 515, in find_installation python = self._find_installation_impl(state, display_name, name_or_path, required) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\modules\python.py", line 471, in _find_installation_impl if python.sanity(state): ^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\modules\python.py", line 83, in sanity ret = super().sanity() ^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\dependencies\python.py", line 120, in sanity p, stdout, stderr = mesonlib.Popen_safe(cmd, env=env) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\utils\universal.py", line 1526, in Popen_safe p, o, e = Popen_safe_legacy(args, write=write, stdin=stdin, stdout=stdout, stderr=stderr, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\mesonbuild\utils\universal.py", line 1548, in Popen_safe_legacy p = subprocess.Popen(args, universal_newlines=False, close_fds=False, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\subprocess.py", line 1026, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\keith\anaconda3\envs\aov2\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [WinError 2] The system cannot find the file specified

ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment. Traceback (most recent call last): File "C:\Users\keith\anaconda3\envs\aov2\Scripts\f2py-script.py", line 10, in sys.exit(main()) ^^^^^^ File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\numpy\f2py\f2py2e.py", line 766, in main run_compile() File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\numpy\f2py\f2py2e.py", line 738, in run_compile builder.compile() File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\numpy\f2py_backends_meson.py", line 178, in compile self.run_meson(self.build_dir) File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\numpy\f2py_backends_meson.py", line 171, in run_meson self._run_subprocess_command(setup_command, build_dir) File "C:\Users\keith\anaconda3\envs\aov2\Lib\site-packages\numpy\f2py_backends_meson.py", line 167, in _run_subprocess_command subprocess.run(command, cwd=cwd, check=True) File "C:\Users\keith\anaconda3\envs\aov2\Lib\subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['meson', 'setup', 'bbdir']' returned non-zero exit status 2.

keithini avatar May 06 '24 20:05 keithini

Same issue on windows/conda in 1.26.4 for me. I'm able to build the examples in my python 3.8 environment. In the meantime is there any issue with just using 3.8? Is there a different python/numpy version you would recommend?

caplinje-NOAA avatar Oct 07 '24 00:10 caplinje-NOAA