nut
nut copied to clipboard
[Bug] Installing on macos failed on pycurl building step.
Describe the bug
Following the macos build procedure, failed on building pycurl.
To Reproduce
Steps to reproduce the behaviour: Exactly do the step on the readme.md on "Installation guide (macOS)" The failed step is: Install all other dependencies (pip install -r requirements.txt)
Actual behaviour
Click to expand
Building wheels for collected packages: future, pycurl
Building wheel for future (setup.py) ... done
Created wheel for future: filename=future-0.18.3-py3-none-any.whl size=492025 sha256=8c21a7945cc309428f35dc646fa0121d85776d86ccb178860a4b4c2a97b16ede
Stored in directory: /Users/kuku/Library/Caches/pip/wheels/bf/5d/6a/2e53874f7ec4e2bede522385439531fafec8fafe005b5c3d1b
Building wheel for pycurl (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [21 lines of output]
/private/var/folders/l9/txb9ccbn5mx12rx5frvr_vbh0000gn/T/pip-install-qi7ykt8z/pycurl_80bf32d608fc44ebade3ae4ddef10d21/setup.py:941: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if LooseVersion(distutils.__version__) > LooseVersion("1.0.1"):
/private/var/folders/l9/txb9ccbn5mx12rx5frvr_vbh0000gn/T/pip-install-qi7ykt8z/pycurl_80bf32d608fc44ebade3ae4ddef10d21/setup.py:943: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if LooseVersion(distutils.__version__) < LooseVersion("1.0.3"):
Using curl-config (libcurl 8.10.1)
Using SSL library: OpenSSL/LibreSSL/BoringSSL
running bdist_wheel
running build
running build_py
creating build/lib.macosx-14-x86_64-cpython-39/curl
copying python/curl/__init__.py -> build/lib.macosx-14-x86_64-cpython-39/curl
running build_ext
building 'pycurl' extension
creating build/temp.macosx-14-x86_64-cpython-39/src
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -DPYCURL_VERSION=\"7.44.1\" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/usr/local/Cellar/curl/8.10.1/include -I/Users/kuku/.pyenv/versions/3.9.7/envs/nut/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/docstrings.c -o build/temp.macosx-14-x86_64-cpython-39/src/docstrings.o
In file included from src/docstrings.c:4:
src/pycurl.h:178:13: fatal error: 'openssl/ssl.h' file not found
# include <openssl/ssl.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 pycurl
Running setup.py clean for pycurl
Successfully built future
Failed to build pycurl
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pycurl)
(nut) kuku@kuku-MacBook-Air ~/C/nut (master) [1]> pip install pycurld
ERROR: Could not find a version that satisfies the requirement pycurld (from versions: none)
ERROR: No matching distribution found for pycurld
Expected behaviour
No Error
NUT version (or git hash):
Git hash 5e88b6766daf1bd9cd04222323ad2638d736ed42
Temporary Solution
Update the pycurl version on the requirements.txt to
7.45.3
Git patch
Click to expand
diff --git a/requirements.txt b/requirements.txt
index eaa52a1..1992fc3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,7 +17,7 @@ future~=0.18.2
asn1~=2.4.2
filelock~=3.4.2
Unidecode~=1.3.2
-pycurl~=7.44.1; sys_platform != 'win32'
+pycurl~=7.45.3; sys_platform != 'win32'
qt-range-slider~=0.2.7
watchdog~=2.1.6
certifi>=2021.5.30
Other Information
macOS sonoma 14.6