SAP / PyRFC

Asynchronous, non-blocking SAP NW RFC SDK bindings for Python
http://sap.github.io/PyRFC
Apache License 2.0
515 stars 141 forks source link

Installation error - pyrfc 2.8.2 and other recent versions on macos python 3.10 #327

Closed kksat closed 1 year ago

kksat commented 1 year ago

Describe the bug Installation error - pyrfc 2.8.2 and other recent versions on macos python 3.10

To Reproduce pip install "pyrfc==2.8.2"

Screenshots If applicable, add screenshots to help explain your problem.

Environment

Additional context Installing with pip 23.1.2

tried versions 2.8.2 2.7.1

Only version 2.5.0 installs without errors

Failing with error

Building wheels for collected packages: pyrfc Building wheel for pyrfc (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for pyrfc (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [24 lines of output] 750 Patch Level 10 pyrfc version 2.8.2 running bdist_wheel running build running build_py creating build creating build/lib.macosx-11.3-x86_64-cpython-310 creating build/lib.macosx-11.3-x86_64-cpython-310/pyrfc copying src/pyrfc/version.py -> build/lib.macosx-11.3-x86_64-cpython-310/pyrfc copying src/pyrfc/_exception.py -> build/lib.macosx-11.3-x86_64-cpython-310/pyrfc copying src/pyrfc/init.py -> build/lib.macosx-11.3-x86_64-cpython-310/pyrfc copying src/pyrfc/_utils.py -> build/lib.macosx-11.3-x86_64-cpython-310/pyrfc running build_ext skipping 'src/pyrfc/_cyrfc.cpp' Cython extension (up-to-date) building 'pyrfc._cyrfc' extension creating build/temp.macosx-11.3-x86_64-cpython-310 creating build/temp.macosx-11.3-x86_64-cpython-310/src creating build/temp.macosx-11.3-x86_64-cpython-310/src/pyrfc clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DNDEBUG -D_LARGEFILE_SOURCE -D_CONSOLE -D_FILE_OFFSET_BITS=64 -DSAPonUNIX -DSAPwithUNICODE -DSAPwithTHREADS -DSAPonDARW -I/Users/ksatarin/dev/ansible_collections/sap/sap_operations/venv/molecule-venv/include -I/Users/ksatarin/.pyenv/versions/3.10.0/include/python3.10 -c src/pyrfc/_cyrfc.cpp -o build/temp.macosx-11.3-x86_64-cpython-310/src/pyrfc/_cyrfc.o -Wall -O2 -fexceptions -funsigned-char -fno-strict-aliasing -Wno-uninitialized -Wcast-align -fPIC -pthread -minline-all-stringops -isystem -std=c++11 -mmacosx-version-min=10.15 -I/usr/local/sap/nwrfcsdk/include -Wno-cast-align -Wno-deprecated-declarations -Wno-unused-function -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-unreachable-code-fallthrough src/pyrfc/_cyrfc.cpp:832:10: fatal error: 'sapnwrfc.h' file not found

include "sapnwrfc.h"

           ^~~~~~~~~~~~
  1 error 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 pyrfc Failed to build pyrfc ERROR: Could not build wheels for pyrfc, which is required to install pyproject.toml-based projects

bsrdjan commented 1 year ago

Hello @kksat,

pyrfc binaries for Intel based macOS are missing on PyPI. It is pyrfc deployment bug that needs to be fixed. Because pyrfc binary wheel for your platform is missing, the pip install pyrfc triggers the build from source on your Macbook. The build from source fails because it does not find SAP NW RFC SDK include file sapnwrfc.h, in include folder /usr/local/sap/nwrfcsdk/include, as per your log.

Is SAP NW RFC SDK installed on your system? If not, please install because it is required for runtime as well.

If already installed, check if SAPNWRFC_HOME is pointing to folder below the include folder, should be /usr/local/sap/nwrfcsdk according to your log. Once the RFC SDK files are there, with read access rights, the installation should work on your Macbook. It would still build from source but should complete.

Missing binaries should be provided next week.

Hope this workaround helps and if any issues let me know.

bsrdjan commented 1 year ago

Fixed in 2.8.3

kksat commented 1 year ago

Thank you, all is working now

bsrdjan commented 1 year ago

Fixed in pyrfc 3.0