gostevehoward / confseq

Confidence sequences and uniform boundaries
MIT License
54 stars 3 forks source link

Package breaks for Mac on Python 3.12 #22

Open aangelopoulos opened 3 months ago

aangelopoulos commented 3 months ago

Hey @gostevehoward @WannabeSmith !

The package breaks for a fresh conda install of Python 3.12 on an M1 Macbook, with the error below.

To reproduce the error, do the following.

  1. Execute conda create -n python312 python=3.12
  2. Execute pip install confseq

I want to continue using this package for my confidence sequence needs! :D Thank you!

Collecting confseq
  Using cached confseq-0.0.11.tar.gz (686 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pybind11>=2.3 (from confseq)
  Using cached pybind11-2.12.0-py3-none-any.whl.metadata (9.5 kB)
Collecting numpy (from confseq)
  Downloading numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl.metadata (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.1/61.1 kB 1.6 MB/s eta 0:00:00
Collecting matplotlib (from confseq)
  Downloading matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl.metadata (5.8 kB)
Collecting multiprocess (from confseq)
  Using cached multiprocess-0.70.16-py312-none-any.whl.metadata (7.2 kB)
Collecting scipy (from confseq)
  Downloading scipy-1.13.0-cp312-cp312-macosx_12_0_arm64.whl.metadata (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 kB 4.2 MB/s eta 0:00:00
Collecting pytest (from confseq)
  Using cached pytest-8.2.0-py3-none-any.whl.metadata (7.5 kB)
Collecting pandas (from confseq)
  Downloading pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (19 kB)
Collecting contourpy>=1.0.1 (from matplotlib->confseq)
  Downloading contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (5.8 kB)
Collecting cycler>=0.10 (from matplotlib->confseq)
  Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib->confseq)
  Downloading fonttools-4.51.0-cp312-cp312-macosx_10_9_universal2.whl.metadata (159 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.5/159.5 kB 7.7 MB/s eta 0:00:00
Collecting kiwisolver>=1.3.1 (from matplotlib->confseq)
  Downloading kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl.metadata (6.4 kB)
Collecting packaging>=20.0 (from matplotlib->confseq)
  Using cached packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Collecting pillow>=8 (from matplotlib->confseq)
  Downloading pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (9.2 kB)
Collecting pyparsing>=2.3.1 (from matplotlib->confseq)
  Using cached pyparsing-3.1.2-py3-none-any.whl.metadata (5.1 kB)
Collecting python-dateutil>=2.7 (from matplotlib->confseq)
  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting dill>=0.3.8 (from multiprocess->confseq)
  Using cached dill-0.3.8-py3-none-any.whl.metadata (10 kB)
Collecting pytz>=2020.1 (from pandas->confseq)
  Downloading pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.7 (from pandas->confseq)
  Downloading tzdata-2024.1-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting iniconfig (from pytest->confseq)
  Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
Collecting pluggy<2.0,>=1.5 (from pytest->confseq)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib->confseq)
  Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Using cached pybind11-2.12.0-py3-none-any.whl (234 kB)
Downloading matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl (7.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 36.3 MB/s eta 0:00:00
Downloading numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl (13.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.7/13.7 MB 37.9 MB/s eta 0:00:00
Using cached multiprocess-0.70.16-py312-none-any.whl (146 kB)
Downloading pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl (11.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 40.5 MB/s eta 0:00:00
Using cached pytest-8.2.0-py3-none-any.whl (339 kB)
Downloading scipy-1.13.0-cp312-cp312-macosx_12_0_arm64.whl (30.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.4/30.4 MB 39.5 MB/s eta 0:00:00
Downloading contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl (245 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 245.3/245.3 kB 17.2 MB/s eta 0:00:00
Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)
Using cached dill-0.3.8-py3-none-any.whl (116 kB)
Downloading fonttools-4.51.0-cp312-cp312-macosx_10_9_universal2.whl (2.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 35.7 MB/s eta 0:00:00
Downloading kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl (64 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.0/65.0 kB 4.6 MB/s eta 0:00:00
Using cached packaging-24.0-py3-none-any.whl (53 kB)
Downloading pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 38.5 MB/s eta 0:00:00
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Using cached pyparsing-3.1.2-py3-none-any.whl (103 kB)
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 11.8 MB/s eta 0:00:00
Downloading pytz-2024.1-py2.py3-none-any.whl (505 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 505.5/505.5 kB 25.8 MB/s eta 0:00:00
Downloading tzdata-2024.1-py2.py3-none-any.whl (345 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 345.4/345.4 kB 18.2 MB/s eta 0:00:00
Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: confseq
  Building wheel for confseq (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for confseq (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [191 lines of output]
      /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/setuptools/dist.py:476: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!

              ********************************************************************************
              Usage of dash-separated 'description-file' will not be supported in future
              versions. Please use the underscore name 'description_file' instead.

              By 2024-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
        opt = self.warn_dash_deprecation(opt, section)

      --------------------------------------------------------------------------------
      -- Trying 'Ninja' generator
      --------------------------------
      ---------------------------
      ----------------------
      -----------------
      ------------
      -------
      --
      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.

      Not searching for unused variables given on the command line.

      CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
      -- Configuring incomplete, errors occurred!
      --
      -------
      ------------
      -----------------
      ----------------------
      ---------------------------
      --------------------------------
      -- Trying 'Ninja' generator - failure
      --------------------------------------------------------------------------------

      --------------------------------------------------------------------------------
      -- Trying 'Unix Makefiles' generator
      --------------------------------
      ---------------------------
      ----------------------
      -----------------
      ------------
      -------
      --
      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.

      Not searching for unused variables given on the command line.

      -- The C 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
      -- The CXX compiler identification is AppleClang 15.0.0.15000309
      -- 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
      -- Configuring done (0.4s)
      -- Generating done (0.0s)
      -- Build files have been written to: /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311/_cmake_test_compile/build
      --
      -------
      ------------
      -----------------
      ----------------------
      ---------------------------
      --------------------------------
      -- Trying 'Unix Makefiles' generator - success
      --------------------------------------------------------------------------------

      Configuring Project
        Working directory:
          /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311/_skbuild/macosx-14.0-arm64-3.12/cmake-build
        Command:
          /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/cmake/data/bin/cmake /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311/_skbuild/macosx-14.0-arm64-3.12/cmake-install/src/confseq -DPYTHON_VERSION_STRING:STRING=3.12.3 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPYTHON_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DPYTHON_LIBRARY:PATH=/Users/angelopoulos/miniconda3/envs/python312/lib/libpython3.12.dylib -DPython_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPython_ROOT_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312 -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DPython3_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPython3_ROOT_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312 -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=14.0 -DCMAKE_OSX_ARCHITECTURES:STRING=arm64 -DCMAKE_BUILD_TYPE:STRING=Release

      Not searching for unused variables given on the command line.
      -- 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
      -- Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least version "1.70.0")
      CMake Warning (dev) at /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/pybind11/share/cmake/pybind11/FindPythonLibsNew.cmake:98 (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):
        /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/pybind11/share/cmake/pybind11/pybind11Tools.cmake:45 (find_package)
        /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/pybind11/share/cmake/pybind11/pybind11Common.cmake:201 (include)
        /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/pybind11/share/cmake/pybind11/pybind11Config.cmake:249 (include)
        CMakeLists.txt:25 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.
      '/Users/angelopoulos/miniconda3/envs/python312/bin/python' '-c' 'import pybind11; print(pybind11.get_cmake_dir())'

      -- Found PythonInterp: /Users/angelopoulos/miniconda3/envs/python312/bin/python (found version "3.12.3")
      -- Found PythonLibs: /Users/angelopoulos/miniconda3/envs/python312/lib/libpython3.12.dylib
      -- Performing Test HAS_FLTO
      -- Performing Test HAS_FLTO - Success
      -- Performing Test HAS_FLTO_THIN
      -- Performing Test HAS_FLTO_THIN - Success
      -- Found pybind11: /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/pybind11/include (found version "2.6.2" )
      -- Configuring done (1.1s)
      CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
      Please set them or make sure they are set and tested correctly in the CMake files:
      Boost_INCLUDE_DIR (ADVANCED)
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
         used as include directory in directory /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311

      CMake Error in CMakeLists.txt:
        Found relative path while evaluating include directories of "boundaries":

          "Boost_INCLUDE_DIR-NOTFOUND"

      CMake Error in CMakeLists.txt:
        Found relative path while evaluating include directories of "boundaries":

          "Boost_INCLUDE_DIR-NOTFOUND"

      CMake Error in CMakeLists.txt:
        Found relative path while evaluating include directories of "quantiles":

          "Boost_INCLUDE_DIR-NOTFOUND"

      CMake Error in CMakeLists.txt:
        Found relative path while evaluating include directories of "quantiles":

          "Boost_INCLUDE_DIR-NOTFOUND"

      -- Generating done (0.0s)
      CMake Generate step failed.  Build files cannot be regenerated correctly.
      Traceback (most recent call last):
        File "/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/skbuild/setuptools_wrap.py", line 666, in setup
          env = cmkr.configure(
                ^^^^^^^^^^^^^^^
        File "/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/skbuild/cmaker.py", line 357, in configure
          raise SKBuildError(msg)

      An error occurred while configuring with CMake.
        Command:
          /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/cmake/data/bin/cmake /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311/_skbuild/macosx-14.0-arm64-3.12/cmake-install/src/confseq -DPYTHON_VERSION_STRING:STRING=3.12.3 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-build-env-cb3z_7ud/overlay/lib/python3.12/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPYTHON_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DPYTHON_LIBRARY:PATH=/Users/angelopoulos/miniconda3/envs/python312/lib/libpython3.12.dylib -DPython_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPython_ROOT_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312 -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DPython3_EXECUTABLE:PATH=/Users/angelopoulos/miniconda3/envs/python312/bin/python -DPython3_ROOT_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312 -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/Users/angelopoulos/miniconda3/envs/python312/include/python3.12 -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=14.0 -DCMAKE_OSX_ARCHITECTURES:STRING=arm64 -DCMAKE_BUILD_TYPE:STRING=Release
        Source directory:
          /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311
        Working directory:
          /private/var/folders/nf/9jh22yw56mj181378_s3p7vr0000gn/T/pip-install-7729v20m/confseq_59555b491cdb402d98eb4d018b396311/_skbuild/macosx-14.0-arm64-3.12/cmake-build
      Please see CMake's output for more information.

      [end of output]

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

FYI @WannabeSmith @gostevehoward --- it works with Python 3.8 on M1.