Skip to content

Installing Jppy does not work on my MacOS system

I am trying to download jppy on my MacOS system (pip install jppy), but I keep getting the following error:

$ pip install jppy
Collecting jppy
  Using cached jppy-3.4.0.tar.gz (1.4 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pybind11>=2.4
  Using cached pybind11-2.10.0-py3-none-any.whl (213 kB)
Building wheels for collected packages: jppy
  Building wheel for jppy (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for jppy (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [290 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-cpython-310
      creating build/lib.macosx-10.9-universal2-cpython-310/jppy
      copying jppy/version.py -> build/lib.macosx-10.9-universal2-cpython-310/jppy
      copying jppy/__init__.py -> build/lib.macosx-10.9-universal2-cpython-310/jppy
      running build_ext
      creating var
      creating var/folders
      creating var/folders/rz
      creating var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn
      creating var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c /var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/tmppzyw64t3.cpp -o var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/tmppzyw64t3.o -std=c++14
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c /var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/tmp1orx66ir.cpp -o var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/tmp1orx66ir.o -fvisibility=hidden
      building 'jppy.pdf' extension
      creating build/temp.macosx-10.9-universal2-cpython-310
      creating build/temp.macosx-10.9-universal2-cpython-310/src
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/private/var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/pip-build-env-diqn9fdd/normal/lib/python3.10/site-packages/pybind11/include -I/private/var/folders/rz/_11db0xj6j54x04dr06wdhpm0000gn/T/pip-build-env-diqn9fdd/normal/lib/python3.10/site-packages/pybind11/include -Ijpp -I/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c src/pdf.cc -o build/temp.macosx-10.9-universal2-cpython-310/src/pdf.o -stdlib=libc++ -mmacosx-version-min=10.7 -DVERSION_INFO=\"3.4.0\" -std=c++14 -fvisibility=hidden
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:2:
      In file included from jpp/JTools/JCollection.hh:13:
      In file included from jpp/JMath/JMath.hh:10:
      jpp/JLang/JVectorize.hh:26:17: error: reference to 'vector' is ambiguous
          public std::vector<JElement_t, JAllocator_t>
                      ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:469:28: note: candidate found by name lookup is 'std::__1::vector'
      class _LIBCPP_TEMPLATE_VIS vector
                                 ^
      jpp/JLang/JSTDTypes.hh:12:91: note: candidate found by name lookup is 'std::vector'
        template<class JElement_t, class JAllocator_t>                                    class vector;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:2:
      In file included from jpp/JTools/JCollection.hh:13:
      jpp/JMath/JMath.hh:486:3: warning: class template 'JAverage' was previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
        class JAverage<JGEOMETRY3D::JQuaternion3D>;
        ^
      jpp/JMath/JMath.hh:412:10: note: previous use is here
        struct JAverage {
               ^
      jpp/JMath/JMath.hh:486:3: note: did you mean struct here?
        class JAverage<JGEOMETRY3D::JQuaternion3D>;
        ^~~~~
        struct
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:2:
      jpp/JTools/JCollection.hh:74:17: error: reference to 'vector' is ambiguous
          public std::vector<JElement_t>,
                      ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:469:28: note: candidate found by name lookup is 'std::__1::vector'
      class _LIBCPP_TEMPLATE_VIS vector
                                 ^
      jpp/JLang/JSTDTypes.hh:12:91: note: candidate found by name lookup is 'std::vector'
        template<class JElement_t, class JAllocator_t>                                    class vector;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:2:
      jpp/JTools/JCollection.hh:89:18: error: reference to 'vector' is ambiguous
          typedef std::vector<value_type>                              container_type;
                       ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:469:28: note: candidate found by name lookup is 'std::__1::vector'
      class _LIBCPP_TEMPLATE_VIS vector
                                 ^
      jpp/JLang/JSTDTypes.hh:12:91: note: candidate found by name lookup is 'std::vector'
        template<class JElement_t, class JAllocator_t>                                    class vector;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:2:
      jpp/JTools/JCollection.hh:97:18: error: reference to 'pair' is ambiguous
          typedef std::pair<const_iterator, bool>                      pair_type;
                       ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:6:
      In file included from jpp/JTools/JSpline.hh:11:
      In file included from jpp/JTools/JResult.hh:6:
      jpp/JTools/JRange.hh:45:18: error: reference to 'pair' is ambiguous
          typedef std::pair<T,T>                             pair_type;
                       ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:6:
      jpp/JTools/JSpline.hh:137:10: error: reference to 'pair' is ambiguous
          std::pair<bool, ordinate_type> fp_at_xmin;
               ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:6:
      jpp/JTools/JSpline.hh:138:10: error: reference to 'pair' is ambiguous
          std::pair<bool, ordinate_type> fp_at_xmax;
               ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:6:
      jpp/JTools/JSpline.hh:207:7: error: reference to 'vector' is ambiguous
              std::vector<double> buffer(numberOfElements);
                   ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:469:28: note: candidate found by name lookup is 'std::__1::vector'
      class _LIBCPP_TEMPLATE_VIS vector
                                 ^
      jpp/JLang/JSTDTypes.hh:12:91: note: candidate found by name lookup is 'std::vector'
        template<class JElement_t, class JAllocator_t>                                    class vector;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      In file included from jpp/JTools/JMultiMap.hh:10:
      In file included from jpp/JTools/JMultiPair.hh:4:
      jpp/JTools/JMultiKey.hh:67:17: error: reference to 'pair' is ambiguous
          public std::pair<JKey_t, JMultiKey<N-1, JKey_t> >,
                      ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      In file included from jpp/JTools/JMultiMap.hh:10:
      In file included from jpp/JTools/JMultiPair.hh:4:
      jpp/JTools/JMultiKey.hh:74:18: error: reference to 'pair' is ambiguous
          typedef std::pair<key_type, mapped_type>                     pair;
                       ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      In file included from jpp/JTools/JMultiMap.hh:10:
      In file included from jpp/JTools/JMultiPair.hh:4:
      jpp/JTools/JMultiKey.hh:221:17: error: reference to 'pair' is ambiguous
          public std::pair<JKey_t, JMultiKey<1, JKey_t> >,
                      ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      In file included from jpp/JTools/JMultiMap.hh:10:
      In file included from jpp/JTools/JMultiPair.hh:4:
      jpp/JTools/JMultiKey.hh:228:18: error: reference to 'pair' is ambiguous
          typedef std::pair<key_type, mapped_type>                     pair;
                       ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:329:12: error: reference to 'pair' is ambiguous
            std::pair<iterator, iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:475:12: error: reference to 'pair' is ambiguous
            std::pair<const_iterator, const_iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:613:12: error: reference to 'pair' is ambiguous
            std::pair<reverse_iterator, reverse_iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:759:12: error: reference to 'pair' is ambiguous
            std::pair<const_reverse_iterator, const_reverse_iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:1156:12: error: reference to 'pair' is ambiguous
            std::pair<iterator, iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:1279:12: error: reference to 'pair' is ambiguous
            std::pair<const_iterator, const_iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      In file included from src/pdf.cc:3:
      In file included from jpp/JPhysics/JPDF_t.hh:10:
      In file included from jpp/JPhysics/JPDFTable.hh:7:
      In file included from jpp/JTools/JTransformableMultiFunction.hh:7:
      In file included from jpp/JTools/JMultiFunction.hh:4:
      jpp/JTools/JMultiMap.hh:1395:12: error: reference to 'pair' is ambiguous
            std::pair<reverse_iterator, reverse_iterator> range;
                 ^
      /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: candidate found by name lookup is 'std::__1::pair'
      struct _LIBCPP_TEMPLATE_VIS pair
                                  ^
      jpp/JLang/JSTDTypes.hh:15:91: note: candidate found by name lookup is 'std::pair'
        template<class JFirst_t, class JSecond_t>                                         class pair;
                                                                                                ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      1 warning and 20 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for jppy
Failed to build jppy
ERROR: Could not build wheels for jppy, which is required to install pyproject.toml-based projects

Does anyone know a way how to fix this?