Moving to Ubuntu 22 with a fresh install (I have Ubuntu 20 in another partition) and the last piece I need to use it for working it to have pyenv running fine.
When trying to pyenv install x.xx.x
it fails with this error:
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
I "tried to try" what the official docs proposes:
I said "tried to try" because I don't understand what I have to do. They give these commands:
CPPFLAGS="-I<openssl install prefix>/include" \
LDFLAGS="-L<openssl install prefix>/lib" \
pyenv install -v <python version>
But I don't know what the "openssl install prefix" means. I assumed it's the openssl installation dir, so I did:
openssl version -d
OPENSSLDIR: "/home/linuxbrew/.linuxbrew/etc/[email protected]"
Even though I see that in this folder there arent' any include
or lib
subfolders, I tried it anyway by doing this:
CPPFLAGS="-I/home/linuxbrew/.linuxbrew/etc/[email protected]/include" \
LDFLAGS="-L/home/linuxbrew/.linuxbrew/etc/[email protected]/lib" \
pyenv install -v 3.10.0
Which ended up with the same error message.
Gotta say, I tried a lot of other stuff that I found in other places and nothing worked, but for the sake of simplicity I'm sticking with the official indications.
If you faced the same problem and the solution came from somewhere else than these commands, please share!
Many thanks :)
Update
<openssl install prefix>
just refers to the base path or base folder, just that Homebrew decided to invent a new name because... well, some very important reason I guess.
This part gets solved by just replacing <openssl install prefix>
by $(brew --prefix openssl)
.
See my own answer to the question below to see how it worked for me, but judging for all the different solutions that I've been seeing and trying, every case might need a different solution. Good luck!