DanielBok / nlopt-python

A project to package the NLOpt library to wheels
Other
29 stars 14 forks source link

Can't build nlopt wheels #33

Open devin-saini opened 6 months ago

devin-saini commented 6 months ago

I am trying to install nlopt from the command line using "pip3 install nlopt" on macOS but am getting the error "ERROR: Failed building wheel for nlopt ERROR: Could not build wheels for nlopt, which is required to install pyproject.toml-based projects" I have tried trouble shooting on my own but still can't resolve the issue.

devin-saini commented 6 months ago

Here is the full error: Collecting nlopt Using cached nlopt-2.6.2.tar.gz (2.0 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: numpy>=1.14 in ./venv/lib/python3.12/site-packages (from nlopt) (1.26.4) Building wheels for collected packages: nlopt Building wheel for nlopt (pyproject.toml): started Building wheel for nlopt (pyproject.toml): finished with status 'error' Failed to build nlopt

error: subprocess-exited-with-error

× Building wheel for nlopt (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [261 lines of output] running bdist_wheel running build running build_ext cmake version 3.29.1

  CMake suite maintained and supported by Kitware (kitware.com/cmake).
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  -- The C compiler identification is AppleClang 15.0.0.15000309
  -- The CXX compiler identification is AppleClang 15.0.0.15000309
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  CMake Warning (dev) at CMakeLists.txt:12 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Found PythonInterp: /Users/devin/Desktop/Research/vzad_new/venv/bin/python (found version "3.12.2")
  -- Found Python includes: /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12
  -- Found Python libs: /Library/Frameworks/Python.framework/Versions/3.12/lib
  CMake Deprecation Warning at extern/nlopt/CMakeLists.txt:15 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  -- NLopt version 2.6.2
  -- Looking for dlfcn.h
  -- Looking for dlfcn.h - found
  -- Looking for getopt.h
  -- Looking for getopt.h - found
  -- Looking for unistd.h
  -- Looking for unistd.h - found
  -- Looking for string.h
  -- Looking for string.h - found
  -- Looking for strings.h
  -- Looking for strings.h - found
  -- Looking for inttypes.h
  -- Looking for inttypes.h - found
  -- Looking for memory.h
  -- Looking for memory.h - found
  -- Looking for stdlib.h
  -- Looking for stdlib.h - found
  -- Looking for stdint.h
  -- Looking for stdint.h - found
  -- Looking for time.h
  -- Looking for time.h - found
  -- Looking for sys/types.h
  -- Looking for sys/types.h - found
  -- Looking for sys/stat.h
  -- Looking for sys/stat.h - found
  -- Looking for sys/time.h
  -- Looking for sys/time.h - found
  -- Looking for getpid
  -- Looking for getpid - found
  -- Looking for syscall
  -- Looking for syscall - found
  -- Looking for isinf
  -- Looking for isinf - found
  -- Looking for isnan
  -- Looking for isnan - found
  -- Looking for gettimeofday
  -- Looking for gettimeofday - found
  -- Looking for qsort_r
  -- Looking for qsort_r - found
  -- Looking for time
  -- Looking for time - found
  -- Looking for copysign
  -- Looking for copysign - found
  -- Looking for stddef.h
  -- Looking for stddef.h - found
  -- Check size of uint32_t
  -- Check size of uint32_t - done
  -- Check size of unsigned int
  -- Check size of unsigned int - done
  -- Check size of unsigned long
  -- Check size of unsigned long - done
  -- Looking for sqrt in m
  -- Looking for sqrt in m - found
  -- Looking for fpclassify
  -- Looking for fpclassify - TRUE
  -- Performing Test HAVE_THREAD_LOCAL_STORAGE
  -- Performing Test HAVE_THREAD_LOCAL_STORAGE - Success
  -- Performing Test HAVE_THREAD_LOCAL_STORAGE
  -- Performing Test HAVE_THREAD_LOCAL_STORAGE - Failed
  -- Looking for __cplusplus
  -- Looking for __cplusplus - found
  -- Performing Test SUPPORTS_STDCXX11
  -- Performing Test SUPPORTS_STDCXX11 - Success
  -- Performing Test HAS_FPIC
  -- Performing Test HAS_FPIC - Success
  CMake Warning (dev) at extern/nlopt/CMakeLists.txt:306 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at extern/nlopt/CMakeLists.txt:307 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Found PythonLibs: /Library/Frameworks/Python.framework/Versions/3.12/lib (found suitable exact version "3.12.2")
  CMake Warning (dev) at extern/nlopt/cmake/FindNumPy.cmake:45 (find_package):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  Call Stack (most recent call first):
    extern/nlopt/CMakeLists.txt:308 (find_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Could NOT find NumPy (missing: NUMPY_INCLUDE_DIRS)
  -- Could NOT find Guile (missing: GUILE_EXECUTABLE GUILE_ROOT_DIR GUILE_INCLUDE_DIRS GUILE_LIBRARIES)
  -- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
  -- Could NOT find Octave (missing: OCTAVE_EXECUTABLE OCTAVE_ROOT_DIR OCTAVE_INCLUDE_DIRS OCTAVE_LIBRARIES)
  -- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS Matlab_MEX_LIBRARY Matlab_MEX_EXTENSION Matlab_ROOT_DIR Matlab_MX_LIBRARY MX_LIBRARY MAIN_PROGRAM) (found version "NOTFOUND")
  -- Configuring done (3.7s)
  -- Generating done (0.0s)
  -- Build files have been written to: /private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-install-d4qqde2u/nlopt_b4a42572cb79454585b30d35394cab22/build/temp.macosx-10.9-universal2-cpython-312
  [  3%] Generating nlopt.hpp
  [  3%] Generating nlopt.f
  CMake Deprecation Warning at /private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-install-d4qqde2u/nlopt_b4a42572cb79454585b30d35394cab22/extern/nlopt/cmake/generate-cpp.cmake:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  CMake Deprecation Warning at /private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-install-d4qqde2u/nlopt_b4a42572cb79454585b30d35394cab22/extern/nlopt/cmake/generate-fortran.cmake:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  [  3%] Built target generate-fortran
  [  3%] Built target generate-cpp
  [  7%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRect.c.o
  [  7%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/direct_wrap.c.o
  [  9%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRserial.c.o
  [ 11%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRsubrout.c.o
  [ 13%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cdirect/cdirect.c.o
  [ 15%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cdirect/hybrid.c.o
  [ 17%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/praxis/praxis.c.o
  [ 19%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/plis.c.o
  [ 21%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/plip.c.o
  [ 23%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/pnet.c.o
  [ 25%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/mssubs.c.o
  [ 27%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/pssubs.c.o
  [ 29%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/crs/crs.c.o
  [ 31%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mlsl/mlsl.c.o
  [ 33%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mma/mma.c.o
  [ 35%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mma/ccsa_quadratic.c.o
  [ 37%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cobyla/cobyla.c.o
  [ 39%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/newuoa/newuoa.c.o
  [ 41%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/neldermead/nldrmd.c.o
  [ 43%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/neldermead/sbplx.c.o
  [ 45%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/auglag/auglag.c.o
  [ 47%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/bobyqa/bobyqa.c.o
  [ 49%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/isres/isres.c.o
  [ 50%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/slsqp/slsqp.c.o
  [ 52%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/esch/esch.c.o
  [ 54%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/general.c.o
  [ 56%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/options.c.o
  [ 58%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/optimize.c.o
  [ 60%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/deprecated.c.o
  [ 62%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/f77api.c.o
  [ 64%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/mt19937ar.c.o
  [ 66%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/sobolseq.c.o
  [ 68%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/timer.c.o
  [ 70%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/stop.c.o
  [ 72%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/redblack.c.o
  [ 74%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/qsort_r.c.o
  [ 76%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/rescale.c.o
  [ 78%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/global.cc.o
  [ 80%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/linalg.cc.o
  [ 82%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/local.cc.o
  [ 84%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/stogo.cc.o
  [ 86%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/tools.cc.o
  [ 88%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/evolvent.cc.o
  [ 90%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/solver.cc.o
  [ 92%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/local_optimizer.cc.o
  [ 94%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/ags.cc.o
  [ 96%] Linking CXX static library libnlopt.a
  [100%] Built target nlopt
  Traceback (most recent call last):
    File "/Users/devin/Desktop/Research/vzad_new/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/Users/devin/Desktop/Research/vzad_new/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/Users/devin/Desktop/Research/vzad_new/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 410, in build_wheel
      return self._build_with_temp_dir(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 395, in _build_with_temp_dir
      self.run_setup()
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 487, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 85, in <module>
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 104, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 967, in run_command
      super().run_command(command)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/normal/lib/python3.12/site-packages/wheel/bdist_wheel.py", line 368, in run
      self.run_command("build")
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 967, in run_command
      super().run_command(command)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build.py", line 131, in run
      self.run_command(cmd_name)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 967, in run_command
      super().run_command(command)
    File "/private/var/folders/k4/p2pywv01795f4h5v6kx_4d5m0000gn/T/pip-build-env-waxr06wn/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "<string>", line 28, in run
    File "<string>", line 70, in build_extension
  StopIteration
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for nlopt ERROR: Could not build wheels for nlopt, which is required to install pyproject.toml-based projects

cortadocodes commented 6 months ago

I'm also having trouble installing on Mac M1. There seem to be no arm64 builds on PyPI so it looks like only Intel Macs are supported. Please could you build for arm64 and include it in the artefacts you upload on release?

Here's my error (I'm using poetry which uses pip under the hood):

  - Installing nlopt (2.7.1): Failed

  RuntimeError

  Unable to find installation candidates for nlopt (2.7.1)

  at ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/installation/chooser.py:74 in choose_for
       70│ 
       71│             links.append(link)
       72│ 
       73│         if not links:
    →  74│             raise RuntimeError(f"Unable to find installation candidates for {package}")
       75│ 
       76│         # Get the best link
       77│         chosen = max(links, key=lambda link: self._sort_key(package, link))
       78│ 

Cannot install nlopt.
cortadocodes commented 6 months ago

@DanielBok I can see you've made a couple of releases for the latest version of nlopt for different versions of python. Would it be ok to update your workflow to include using GitHub's Mac M1 runner to build and publish an arm64 wheel? I think it would just be a case of adding the macos-14 runner to this line

cortadocodes commented 6 months ago

@DanielBok I've made a pull request here - would you be able to allow the build workflow to run to test if it builds ok for M1?

janosg commented 2 months ago

I have a similar Problem on an M3 Mac.

Reproduction

To isolate the problem I created a conda environment that just contains Python and then pip-installed nlopt into it:

conda create -n testenv python=3.10 -y
conda activate testenv 
pip install nlopt 

Traceback

Collecting nlopt
  Using cached nlopt-2.6.2.tar.gz (2.0 MB)
  Preparing metadata (setup.py) ... done
Collecting numpy>=1.14 (from nlopt)
  Downloading numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl.metadata (60 kB)
Downloading numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl (5.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4/5.4 MB 1.9 MB/s eta 0:00:00
Building wheels for collected packages: nlopt
  Building wheel for nlopt (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [247 lines of output]
      running bdist_wheel
      running build
      running build_ext
      cmake version 3.29.1

      CMake suite maintained and supported by Kitware (kitware.com/cmake).
      CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 3.5 will be removed from a future version of
        CMake.

        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.

      -- The C compiler identification is AppleClang 15.0.0.15000309
      -- The CXX compiler identification is AppleClang 15.0.0.15000309
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Warning (dev) at CMakeLists.txt:12 (find_package):
        Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
        are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
        the cmake_policy command to set the policy and suppress this warning.

      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Found PythonInterp: /Users/janosgabler/miniforge3/envs/testenv/bin/python3.10 (found version "3.10.14")
      -- Found Python includes: /Users/janosgabler/miniforge3/envs/testenv/include/python3.10
      -- Found Python libs: /Users/janosgabler/miniforge3/envs/testenv/lib
      CMake Deprecation Warning at extern/nlopt/CMakeLists.txt:15 (cmake_minimum_required):
        Compatibility with CMake < 3.5 will be removed from a future version of
        CMake.

        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.

      -- NLopt version 2.6.2
      -- Looking for dlfcn.h
      -- Looking for dlfcn.h - found
      -- Looking for getopt.h
      -- Looking for getopt.h - found
      -- Looking for unistd.h
      -- Looking for unistd.h - found
      -- Looking for string.h
      -- Looking for string.h - found
      -- Looking for strings.h
      -- Looking for strings.h - found
      -- Looking for inttypes.h
      -- Looking for inttypes.h - found
      -- Looking for memory.h
      -- Looking for memory.h - found
      -- Looking for stdlib.h
      -- Looking for stdlib.h - found
      -- Looking for stdint.h
      -- Looking for stdint.h - found
      -- Looking for time.h
      -- Looking for time.h - found
      -- Looking for sys/types.h
      -- Looking for sys/types.h - found
      -- Looking for sys/stat.h
      -- Looking for sys/stat.h - found
      -- Looking for sys/time.h
      -- Looking for sys/time.h - found
      -- Looking for getpid
      -- Looking for getpid - found
      -- Looking for syscall
      -- Looking for syscall - found
      -- Looking for isinf
      -- Looking for isinf - found
      -- Looking for isnan
      -- Looking for isnan - found
      -- Looking for gettimeofday
      -- Looking for gettimeofday - found
      -- Looking for qsort_r
      -- Looking for qsort_r - found
      -- Looking for time
      -- Looking for time - found
      -- Looking for copysign
      -- Looking for copysign - found
      -- Looking for stddef.h
      -- Looking for stddef.h - found
      -- Check size of uint32_t
      -- Check size of uint32_t - done
      -- Check size of unsigned int
      -- Check size of unsigned int - done
      -- Check size of unsigned long
      -- Check size of unsigned long - done
      -- Looking for sqrt in m
      -- Looking for sqrt in m - found
      -- Looking for fpclassify
      -- Looking for fpclassify - TRUE
      -- Performing Test HAVE_THREAD_LOCAL_STORAGE
      -- Performing Test HAVE_THREAD_LOCAL_STORAGE - Success
      -- Performing Test HAVE_THREAD_LOCAL_STORAGE
      -- Performing Test HAVE_THREAD_LOCAL_STORAGE - Failed
      -- Looking for __cplusplus
      -- Looking for __cplusplus - found
      -- Performing Test SUPPORTS_STDCXX11
      -- Performing Test SUPPORTS_STDCXX11 - Success
      -- Performing Test HAS_FPIC
      -- Performing Test HAS_FPIC - Success
      CMake Warning (dev) at extern/nlopt/CMakeLists.txt:306 (find_package):
        Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
        are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
        the cmake_policy command to set the policy and suppress this warning.

      This warning is for project developers.  Use -Wno-dev to suppress it.

      CMake Warning (dev) at extern/nlopt/CMakeLists.txt:307 (find_package):
        Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
        are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
        the cmake_policy command to set the policy and suppress this warning.

      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Found PythonLibs: /Users/janosgabler/miniforge3/envs/testenv/lib (found suitable exact version "3.10.14")
      CMake Warning (dev) at extern/nlopt/cmake/FindNumPy.cmake:45 (find_package):
        Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
        are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
        the cmake_policy command to set the policy and suppress this warning.

      Call Stack (most recent call first):
        extern/nlopt/CMakeLists.txt:308 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Could NOT find NumPy (missing: NUMPY_INCLUDE_DIRS)
      -- Could NOT find Guile (missing: GUILE_EXECUTABLE GUILE_ROOT_DIR GUILE_INCLUDE_DIRS GUILE_LIBRARIES)
      -- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
      -- Could NOT find Octave (missing: OCTAVE_EXECUTABLE OCTAVE_ROOT_DIR OCTAVE_INCLUDE_DIRS OCTAVE_LIBRARIES)
      -- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS Matlab_MEX_LIBRARY Matlab_MEX_EXTENSION Matlab_ROOT_DIR Matlab_MX_LIBRARY MX_LIBRARY MAIN_PROGRAM) (found version "NOTFOUND")
      -- Configuring done (3.2s)
      -- Generating done (0.0s)
      -- Build files have been written to: /private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/build/temp.macosx-11.0-arm64-cpython-310
      [  3%] Generating nlopt.f
      [  3%] Generating nlopt.hpp
      CMake Deprecation Warning at /private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/extern/nlopt/cmake/generate-cpp.cmake:1 (cmake_minimum_required):
        Compatibility with CMake < 3.5 will be removed from a future version of
        CMake.

        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.

      CMake Deprecation Warning at /private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/extern/nlopt/cmake/generate-fortran.cmake:1 (cmake_minimum_required):
        Compatibility with CMake < 3.5 will be removed from a future version of
        CMake.

        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.

      [  3%] Built target generate-fortran
      [  3%] Built target generate-cpp
      [  7%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRect.c.o
      [  7%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/direct_wrap.c.o
      [  9%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRserial.c.o
      [ 11%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/direct/DIRsubrout.c.o
      [ 13%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cdirect/cdirect.c.o
      [ 15%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cdirect/hybrid.c.o
      [ 17%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/praxis/praxis.c.o
      [ 19%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/plis.c.o
      [ 21%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/plip.c.o
      [ 23%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/pnet.c.o
      [ 25%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/mssubs.c.o
      [ 27%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/luksan/pssubs.c.o
      [ 29%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/crs/crs.c.o
      [ 31%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mlsl/mlsl.c.o
      [ 33%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mma/mma.c.o
      [ 35%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/mma/ccsa_quadratic.c.o
      [ 37%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/cobyla/cobyla.c.o
      [ 39%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/newuoa/newuoa.c.o
      [ 41%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/neldermead/nldrmd.c.o
      [ 43%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/neldermead/sbplx.c.o
      [ 45%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/auglag/auglag.c.o
      [ 47%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/bobyqa/bobyqa.c.o
      [ 49%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/isres/isres.c.o
      [ 50%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/slsqp/slsqp.c.o
      [ 52%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/esch/esch.c.o
      [ 54%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/general.c.o
      [ 56%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/options.c.o
      [ 58%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/optimize.c.o
      [ 60%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/deprecated.c.o
      [ 62%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/api/f77api.c.o
      [ 64%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/mt19937ar.c.o
      [ 66%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/sobolseq.c.o
      [ 68%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/timer.c.o
      [ 70%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/stop.c.o
      [ 72%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/redblack.c.o
      [ 74%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/qsort_r.c.o
      [ 76%] Building C object extern/nlopt/CMakeFiles/nlopt.dir/src/util/rescale.c.o
      [ 78%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/global.cc.o
      [ 80%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/linalg.cc.o
      [ 82%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/local.cc.o
      [ 84%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/stogo.cc.o
      [ 86%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/stogo/tools.cc.o
      [ 88%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/evolvent.cc.o
      [ 90%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/solver.cc.o
      [ 92%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/local_optimizer.cc.o
      [ 94%] Building CXX object extern/nlopt/CMakeFiles/nlopt.dir/src/algs/ags/ags.cc.o
      [ 96%] Linking CXX static library libnlopt.a
      [100%] Built target nlopt
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/setup.py", line 85, in <module>
          setup(
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
          return distutils.core.setup(**attrs)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 964, in run_commands
          self.run_command(cmd)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/dist.py", line 945, in run_command
          super().run_command(command)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 983, in run_command
          cmd_obj.run()
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/command/bdist_wheel.py", line 373, in run
          self.run_command("build")
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/dist.py", line 945, in run_command
          super().run_command(command)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 983, in run_command
          cmd_obj.run()
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/dist.py", line 945, in run_command
          super().run_command(command)
        File "/Users/janosgabler/miniforge3/envs/testenv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 983, in run_command
          cmd_obj.run()
        File "/private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/setup.py", line 28, in run
          self.build_extension(ext)
        File "/private/var/folders/gf/_b8vq9wn2sv2221129y0c3sh0000gn/T/pip-install-78840ac0/nlopt_077416b0e16c46e198d9d28cda0cd303/setup.py", line 70, in build_extension
          nlopt_py = next(Path(self.build_temp).rglob("nlopt.py"))
      StopIteration
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for nlopt
  Running setup.py clean for nlopt
Failed to build nlopt
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (nlopt)