Hi all
I’m trying to use Clear Linux on my main dev machine, and I’m having trouble installing different versions of Python with pyenv
. Here are the steps to repro:
- Install Pyenv using the pyenv-installer script:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
- Try installing a new Python version (for example, 3.8.0):
~/.pyenv/bin/pyenv install 3.8.0
Expected: a new version of Python should be installed inside the ~/.pyenv
folder
Actual: I get the following dump on the terminal
$ ./pyenv install 3.8.0
Downloading Python-3.8.0.tar.xz...
-> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
Installing Python-3.8.0...
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems
BUILD FAILED (Clear Linux OS 31350 using python-build 20180424)
Inspect or clean up the working tree at /tmp/python-build.20191019091848.10384
Results logged to /tmp/python-build.20191019091848.10384.log
Last 10 log lines:
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
/tmp/tmpbwhkn7d1/pip-19.2.3-py2.py3-none-any.whl/pip/_vendor/ipaddress.py:1106: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
/tmp/tmpbwhkn7d1/pip-19.2.3-py2.py3-none-any.whl/pip/_vendor/ipaddress.py:1106: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
Looking in links: /tmp/tmpbwhkn7d1
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0
And these are the only errors I’m seeing in the log file mentioned in the dump above:
INFO: Can't locate Tcl/Tk libs and/or headers
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_curses _curses_panel _dbm
_gdbm _hashlib _lzma
_sqlite3 _ssl _tkinter
readline
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
_abc atexit pwd
time
Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
Clearly I’m missing some dev libraries, but after trying installing a mish mash of different bundles to fix this nothing works. So now at a loss what else to try…
Does anyone know where to find these libraries?