-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid value "libressl" for PYCURL_SSL_LIBRARY #530
Comments
The flag for LibreSSL is |
Thanks, installing with
(I'm not completely sure, but I suppose that include directory was installed by Homebrew.) |
you need to `pip install celery[sqs]` to get the additional dependencies that celery needs to use SQS queues - there are two libs - boto3 and pycurl. pycurl is a bunch of python handles around curl, so needs to be installed from source so it can link to your curl/ssl libs. On paas and in docker this works fine (needed to add `libcurl4-openssl-dev` to the docker container), but on macos it can't find openssl. We need to pass a couple of flags in: * set the environment variable PYCURL_SSL_LIBRARY=openssl * pass in the global options `build_ext` and `-I{openssl_headers_path}`. As shown here: pycurl/pycurl#530 (comment) Env var is no biggie, but using any install-option flags disables wheels for the whole pip install run. (See pypa/pip#2677 and pypa/pip#4118 for more context on the install-options flags). A whole bunch of our dependencies don't install nicely from source (but do from wheel), so this commit installs pycurl separately as an initial step, with the requisite flags, and then installs the rest of the requirements as before. I've updated the makefile and bootstrap.sh files to reflect this, but if you run `pip install -r requirements.txt` from scratch you will run into issues.
you need to `pip install celery[sqs]` to get the additional dependencies that celery needs to use SQS queues - there are two libs - boto3 and pycurl. pycurl is a bunch of python handles around curl, so needs to be installed from source so it can link to your curl/ssl libs. On paas and in docker this works fine (needed to add `libcurl4-openssl-dev` to the docker container), but on macos it can't find openssl. We need to pass a couple of flags in: * set the environment variable PYCURL_SSL_LIBRARY=openssl * pass in the global options `build_ext` and `-I{openssl_headers_path}`. As shown here: pycurl/pycurl#530 (comment) Env var is no biggie, but using any install-option flags disables wheels for the whole pip install run. (See pypa/pip#2677 and pypa/pip#4118 for more context on the install-options flags). A whole bunch of our dependencies don't install nicely from source (but do from wheel), so this commit installs pycurl separately as an initial step, with the requisite flags, and then installs the rest of the requirements as before. I've updated the makefile and bootstrap.sh files to reflect this, but if you run `pip install -r requirements.txt` from scratch you will run into issues.
In case anyone else needs it: Instructions per rtsp_curl:
If using openssl installed via homebrew make sure LDFLAGS(lib folder) and CPPFLAGS(ssl.h) folder is pointing to the correct locations, for me it was:
Cheers! |
What did you try to do?
Install pycurl with pip on Mac OS High Sierra (10.13.4).
What happened?
Installation failed with error message
Therefore, I checked
curl --version
and got this output:Therefore, I set
PYCURL_SSL_LIBRARY
tolibressl
and tried to install pycurl again. This time, it failed with the error message(which I also used for the title of this issue).
What did you expect to happen?
Successful installation of pycurl using the Mac OS system-provided version of curl which is compiled against LibreSSL.
What is the PycURL version?
Current version from PyPI, i.e. 7.43.0.2.
What is your Python version?
2.7.10
Other versions
pip 10.0.1
The text was updated successfully, but these errors were encountered: