Skip to content
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

Compiling against different OpenSSL more complicated than in our docs #2006

Closed
hynek opened this issue Jun 4, 2015 · 4 comments · Fixed by #2614
Closed

Compiling against different OpenSSL more complicated than in our docs #2006

hynek opened this issue Jun 4, 2015 · 4 comments · Fixed by #2614

Comments

@hynek
Copy link
Contributor

hynek commented Jun 4, 2015

Since version 7, pip auto-wheels stuff caches it somewhere. That usually awesome.

But it brings problems too. So I’ve spent an hour yesterday trying desperately to recompile cryptography against my homebrew’s OpenSSL and I’ve failed. In the end I pip installed my git checkout.

I kept deleting stuff from my wheel house, tried to find caches but nothing. It always pulled it out of nowhere and -v didn’t help either. I’m gonna claim that if I’m too asinine to get this done, other people are likely too.

This morning I found it out with the help of dtruss (concretely with it complaining, that I don’t own /Users/hynek/Library/Caches/pip/http b/c dtruss runs as root. So I killed all wheels there and got finally my juicy 1.0.2a.

We need to update our docs in this regard, this is madness. Does pip have some --force-recompile option I’ve missed? If not, that should be filed there too…

cc @dstufft

@dstufft
Copy link
Member

dstufft commented Jun 6, 2015

There is no --force-recompile option, but there should be.

@Commod0re
Copy link

I had an issue with this the other day too, that started as a new feature in Tox which requires explicitly listing any environment variables you don't want to be scrubbed.

pip has a --no-cache-dir option that seems to work (this was causing an exception to be raised with the version of pip that I had installed when I tested it the other day, but I tried it again just now and it looks to be working)

@glyph
Copy link
Contributor

glyph commented Jul 11, 2015

@hynek - one trick you can use in the future is, in one terminal, bash -c 'echo $$; read; exec <program>, in another terminal, dtruss -p <pid>, then hit enter in the first terminal again.

@dracos
Copy link

dracos commented Jul 14, 2015

Just to add key words that might help someone in future as this bit me also today – if you get something like "Symbol not found: _CRYPTO_malloc_debug_init" when trying to use cryptography, because you forgot to use the magic incantations when pip installing (or in my case, running tox) and using MacPorts, then as above you need to clear the wheel from your cache (in my case Library/Caches/pip/wheels/.../*cryptography* otherwise you keep on getting the broken wheel no matter what you think you've deleted elsewhere...

reaperhulk added a commit to reaperhulk/cryptography that referenced this issue Jan 1, 2016
When compiling cryptography yourself if you have a problem and need to
recompile but the wheel built successfully you need to know to clear the
wheel cache. This is an edge case but worth documenting. Fixes pyca#2006
reaperhulk added a commit to reaperhulk/cryptography that referenced this issue Jan 1, 2016
When compiling cryptography yourself if you have a problem and need to
recompile but the wheel built successfully you need to know to clear the
wheel cache. This is an edge case but worth documenting. Fixes pyca#2006
@alex alex closed this as completed in #2614 Jan 1, 2016
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

Successfully merging a pull request may close this issue.

5 participants