Getting errors / crashes when installing Python3.4.3 on Lubuntu 14.04

I use VMplayer and my OS is Lubuntu 14.04. It comes preloaded with python3.4.0, but I want to install python3.4.3. I downloaded the .tar.xz file from here .

Then I extracted the file and followed the instructions in README:

./configure make make test 

When I originally started

 make test 

he said: "3 tests failed, 3 runtime changed and 25 skipped." I posted a question about SO here: Python3.4.3 installation: 3 tests failed, 3 runtime changed and 25 skipped

Then i did

 sudo apt-get install libssl-dev 

and did

 ./configure make 

and he said:

 Python build finished successfully! The necessary bits to build these optional modules were not found: _bz2 _curses _curses_panel _dbm _gdbm _lzma _sqlite3 _tkinter readline To find the necessary bits, look in setup.py in detect_modules() for the module name. 

Now that i have tried

 make test 

he said

 1 test failed: test_ssl 2 tests altered the execution environment: test___all__ test_warnings 21 tests skipped: test_bz2 test_curses test_dbm_gnu test_dbm_ndbm test_devpoll test_gdb test_idle test_kqueue test_lzma test_msilib test_ossaudiodev test_readline test_sqlite test_startfile test_tcl test_tk test_ttk_guionly test_ttk_textonly test_winreg test_winsound test_zipfile64 Re-running failed tests in verbose mode Re-running test 'test_ssl' in verbose mode test_ssl: testing with 'OpenSSL 1.0.1f 6 Jan 2014' (1, 0, 1, 6, 15) under Linux ('debian', 'jessie/sid', '') HAS_SNI = True OP_ALL = 0x-7ffffc01 OP_NO_TLSv1_1 = 0x10000000 test__create_stdlib_context (test.test_ssl.ContextTests) ... ok test_cert_store_stats (test.test_ssl.ContextTests) ... ok test_check_hostname (test.test_ssl.ContextTests) ... ok test_ciphers (test.test_ssl.ContextTests) ... ok test_constructor (test.test_ssl.ContextTests) ... ok test_create_default_context (test.test_ssl.ContextTests) ... ok test_get_ca_certs (test.test_ssl.ContextTests) ... ok test_load_cert_chain (test.test_ssl.ContextTests) ... ok test_load_default_certs (test.test_ssl.ContextTests) ... ok test_load_default_certs_env (test.test_ssl.ContextTests) ... ok test_load_default_certs_env_windows (test.test_ssl.ContextTests) ... skipped 'Windows specific' test_load_dh_params (test.test_ssl.ContextTests) ... ok test_load_verify_cadata (test.test_ssl.ContextTests) ... ok test_load_verify_locations (test.test_ssl.ContextTests) ... ok test_options (test.test_ssl.ContextTests) ... ok test_protocol (test.test_ssl.ContextTests) ... ok test_session_stats (test.test_ssl.ContextTests) ... ok test_set_default_verify_paths (test.test_ssl.ContextTests) ... ok test_set_ecdh_curve (test.test_ssl.ContextTests) ... ok test_sni_callback (test.test_ssl.ContextTests) ... ok test_sni_callback_refcycle (test.test_ssl.ContextTests) ... ok test_verify_flags (test.test_ssl.ContextTests) ... ok test_verify_mode (test.test_ssl.ContextTests) ... ok test_DER_to_PEM (test.test_ssl.BasicSocketTests) ... ok test_asn1object (test.test_ssl.BasicSocketTests) ... ok test_constants (test.test_ssl.BasicSocketTests) ... ok test_dealloc_warn (test.test_ssl.BasicSocketTests) ... ok test_enum_certificates (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific' test_enum_crls (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific' test_errors (test.test_ssl.BasicSocketTests) ... ok test_get_default_verify_paths (test.test_ssl.BasicSocketTests) ... ok test_match_hostname (test.test_ssl.BasicSocketTests) ... ok test_openssl_version (test.test_ssl.BasicSocketTests) ... ok test_parse_cert (test.test_ssl.BasicSocketTests) ... {'issuer': ((('countryName', 'XY'),), (('localityName', 'Castle Anthrax'),), (('organizationName', 'Python Software Foundation'),), (('commonName', 'localhost'),)), 'notAfter': 'Oct 5 23:01:56 2020 GMT', 'notBefore': 'Oct 8 23:01:56 2010 GMT', 'serialNumber': 'D7C7381919AFC24E', 'subject': ((('countryName', 'XY'),), (('localityName', 'Castle Anthrax'),), (('organizationName', 'Python Software Foundation'),), (('commonName', 'localhost'),)), 'subjectAltName': (('DNS', 'localhost'),), 'version': 3} {'OCSP': ('http://ocsp.verisign.com',), 'caIssuers': ('http://SVRIntl-G3-aia.verisign.com/SVRIntlG3.cer',), 'crlDistributionPoints': ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',), 'issuer': ((('countryName', 'US'),), (('organizationName', 'VeriSign, Inc.'),), (('organizationalUnitName', 'VeriSign Trust Network'),), (('organizationalUnitName', 'Terms of use at https://www.verisign.com/rpa (c)10'),), (('commonName', 'VeriSign Class 3 International Server CA - G3'),)), 'notAfter': 'Sep 20 23:59:59 2012 GMT', 'notBefore': 'Sep 21 00:00:00 2011 GMT', 'serialNumber': '2EE6EA7640A075CEE5005F4D7C79549A', 'subject': ((('countryName', 'FI'),), (('stateOrProvinceName', 'Espoo'),), (('localityName', 'Espoo'),), (('organizationName', 'Nokia'),), (('organizationalUnitName', 'BI'),), (('commonName', 'projects.developer.nokia.com'),)), 'subjectAltName': (('DNS', 'projects.developer.nokia.com'), ('DNS', 'projects.forum.nokia.com')), 'version': 3} ok test_parse_cert_CVE_2013_4238 (test.test_ssl.BasicSocketTests) ... {'issuer': ((('countryName', 'US'),), (('stateOrProvinceName', 'Oregon'),), (('localityName', 'Beaverton'),), (('organizationName', 'Python Software Foundation'),), (('organizationalUnitName', 'Python Core Development'),), (('commonName', 'null.python.org\x00example.org'),), (('emailAddress', ' python-dev@python.org '),)), 'notAfter': 'Aug 7 13:12:52 2013 GMT', 'notBefore': 'Aug 7 13:11:52 2013 GMT', 'serialNumber': '00', 'subject': ((('countryName', 'US'),), (('stateOrProvinceName', 'Oregon'),), (('localityName', 'Beaverton'),), (('organizationName', 'Python Software Foundation'),), (('organizationalUnitName', 'Python Core Development'),), (('commonName', 'null.python.org\x00example.org'),), (('emailAddress', ' python-dev@python.org '),)), 'subjectAltName': (('DNS', 'altnull.python.org\x00example.com'), ('email', ' null@python.org \ x00user@example.org '), ('URI', 'http://null.python.org\x00http://example.org'), ('IP Address', '192.0.2.1'), ('IP Address', '2001:DB8:0:0:0:0:0:1\n')), 'version': 3} ok test_purpose_enum (test.test_ssl.BasicSocketTests) ... ok test_random (test.test_ssl.BasicSocketTests) ... RAND_status is 1 (sufficient randomness) ok test_random_fork (test.test_ssl.BasicSocketTests) ... ok test_refcycle (test.test_ssl.BasicSocketTests) ... ok test_server_side (test.test_ssl.BasicSocketTests) ... ok test_timeout (test.test_ssl.BasicSocketTests) ... ok test_tls_unique_channel_binding (test.test_ssl.BasicSocketTests) ... ok test_unknown_channel_binding (test.test_ssl.BasicSocketTests) ... ok test_unsupported_dtls (test.test_ssl.BasicSocketTests) ... ok test_wrapped_unconnected (test.test_ssl.BasicSocketTests) ... ok test_lib_reason (test.test_ssl.SSLErrorTests) ... ok test_str (test.test_ssl.SSLErrorTests) ... ok test_subclass (test.test_ssl.SSLErrorTests) ... ok test_algorithms (test.test_ssl.NetworkedTests) ... Cipher with ('sha256.tbs-internet.com', 443) is ('RC4-SHA', 'TLSv1/SSLv3', 128) Certificate is: {'OCSP': ('http://ocsp.tbs-x509.com',), 'caIssuers': ('http://crt.tbs-internet.com/TBSX509CASGC.crt', 'http://crt.tbs-x509.com/TBSX509CASGC.crt'), 'crlDistributionPoints': ('http://crl.tbs-internet.com/TBSX509CASGC.crl', 'http://crl.tbs-x509.com/TBSX509CASGC.crl'), 'issuer': ((('countryName', 'FR'),), (('stateOrProvinceName', 'Calvados'),), (('localityName', 'Caen'),), (('organizationName', 'TBS INTERNET'),), (('organizationalUnitName', 'Terms and Conditions: ' 'http://www.tbs-internet.com/CA/repository'),), (('organizationalUnitName', 'TBS INTERNET CA'),), (('commonName', 'TBS X509 CA SGC'),)), 'notAfter': 'Feb 17 23:59:59 2016 GMT', 'notBefore': 'Feb 11 00:00:00 2014 GMT', 'serialNumber': '1F94DEE8F046B340A6026500A4002CF8', 'subject': ((('countryName', 'FR'),), (('postalCode', '14000'),), (('stateOrProvinceName', 'Calvados'),), (('localityName', 'CAEN'),), (('streetAddress', '22 RUE DE BRETAGNE'),), (('organizationName', 'TBS INTERNET'),), (('organizationalUnitName', '0002 440443810'),), (('organizationalUnitName', 'sha-256 production'),), (('commonName', 'sha256.tbs-internet.com'),)), 'subjectAltName': (('DNS', 'sha256.tbs-internet.com'), ('DNS', 'www.sha256.tbs-internet.com')), 'version': 3} ok test_ciphers (test.test_ssl.NetworkedTests) ... ok test_connect (test.test_ssl.NetworkedTests) ... ok test_connect_cadata (test.test_ssl.NetworkedTests) ... ok test_connect_capath (test.test_ssl.NetworkedTests) ... ok test_connect_ex (test.test_ssl.NetworkedTests) ... ok test_connect_ex_error (test.test_ssl.NetworkedTests) ... ok test_connect_with_context (test.test_ssl.NetworkedTests) ... ERROR /home/a/Downloads/python3.4.3/Python-3.4.3/Lib/unittest/case.py:605: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=AddressFamily.AF_INET, type=2049, proto=0, laddr=('192.168.174.253', 37135), raddr=('82.94.164.164', 443)> outcome.errors.clear() test_context_setget (test.test_ssl.NetworkedTests) ... ok test_get_ca_certs_capath (test.test_ssl.NetworkedTests) ... ok test_get_server_certificate (test.test_ssl.NetworkedTests) ... [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) Verified certificate for svn.python.org:443 is -----BEGIN CERTIFICATE----- MIIEzzCCAregAwIBAgIDDkGJMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y dEBjYWNlcnQub3JnMB4XDTEzMTIyNDIwMjgzMloXDTE1MTIyNDIwMjgzMlowGTEX MBUGA1UEAxMOc3ZuLnB5dGhvbi5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDM6un3wTW9+HVJ7KC+/GwL0KAxehug0tw2YoSSX+TGxLyr9AUtBHQk hCNWhRLewa0WMOY6hxIIQY1Hp6vreDiCbBehjVkEAydlKBzaAsgYCEbCC/ZaMzhv aaFAiLVeaxAKJsBGUJNz5hGgzd67A6SGz+XK7qDWig4NR5eFrsr3DvjyEM7txMiG gftGWLkadOuqUQsI20AykBGi+RxmrQIwqO2svGmje89DsWVILdP37PssM2zqRonh 4fUKooei3L43tXbTdHayXc9NtFS7q8T4eUlyWaD+BtP80QQOQFFvi+qZpme9bmYI 7YPX+e86lZtxAKM9nWrP93qc+2nS0MsHAgMBAAGjgb8wgbwwDAYDVR0TAQH/BAIw ADAOBgNVHQ8BAf8EBAMCA6gwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMB BglghkgBhvhCBAEGCisGAQQBgjcKAwMwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUF BzABhhdodHRwOi8vb2NzcC5jYWNlcnQub3JnLzAxBgNVHR8EKjAoMCagJKAihiBo dHRwOi8vY3JsLmNhY2VydC5vcmcvcmV2b2tlLmNybDANBgkqhkiG9w0BAQUFAAOC AgEAvq2TlM5voqqwlfbEIwdNM3RlqHattH/h2Pqkr5FV6nynhcNyP9wBJyS5mdlt +tj1Fy6oV+iN0s8VglrwhsmYN2pbJkCJZcNgrhFTiOvZ3HJ0jxkQ8TaROfcH1RnZ q45DcbSnryiIDBQNYxmUf/bE6Ce+48fiOJpTRtrC8iWfz4J/JHYZ5FVKx+SsC67o E1iCT2/r1PSvzTg/bohL1kX6Aj3H3UqlXDuDybyHRrTn9kUwCgXK2h4x/qae6xjo Gy++gtzg4XlJEAh65znJ2RlAYi3lvhCls+viR5vSIXBEXmBPFNonGnPtGRyx6Tii 5ncSUP+bp6aaRZb0qEi0k1R5XYPt5Hm7T/h4IOAKlx7gPMMLOXqbrlWpjgwhfysI f/KkgGBq7nTsC6WeaW/QUQtdXqWULrK+nINY+s/CRX5UxdAWpqMxqgNkP3zef9yO etgfpR+6NArjiLNcfJO2yGZTcXn1H2gewTcxwmc+QVWday9HcS3paMpot8BwWUpI LzOLGTeNH+rQCUAKJHAiK3Ogee+hka4icIN7cKOIIVfZ/XBj1Ex7zjc3j72axNba S1buqvrm12YCE5+xAjYwU/Nrl4HNFKCoPW7qfEaEuwp49pieAIOnXa82rCh/UdAv dSj5JpEvxjTuZdVfbk2VUc/z2OeLzFlrQRJsOt1MisY0Aoc= -----END CERTIFICATE----- skipped "Resource 'ipv6.google.com' is not available" test_makefile_close (test.test_ssl.NetworkedTests) ... ok test_non_blocking_connect_ex (test.test_ssl.NetworkedTests) ... ok test_non_blocking_handshake (test.test_ssl.NetworkedTests) ... Needed 3 calls to do_handshake() to establish session. ok test_timeout_connect_ex (test.test_ssl.NetworkedTests) ... ok test_asyncore_server (test.test_ssl.ThreadedTests) Check the example asyncore integration. ... server: new connection from 127.0.0.1:57771 client: sending b'FOO\n'... server: read b'FOO\n' from client client: read b'foo\n' client: closing connection. client: connection closed. cleanup: stopping server. cleanup: joining server thread. server: read b'over\n' from client server: closed connection <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=2049, proto=0> server: read b'' from client cleanup: successfully joined. ok test_check_hostname (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 47566) server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None server: new connection from ('127.0.0.1', 47927) server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None ok test_compression (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 44281) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. got compression: None ok test_compression_disabled (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 44325) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. ok test_crl_check (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 42401) server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None server: new connection from ('127.0.0.1', 39995) server: bad connection attempt from ('127.0.0.1', 39995): Traceback (most recent call last): File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/test/test_ssl.py", line 1532, in wrap_conn self.sock, server_side=True) File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 365, in wrap_socket _context=self) File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 583, in __init__ self.do_handshake() File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 810, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:600) server: new connection from ('127.0.0.1', 55142) server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None ok test_default_ciphers (test.test_ssl.ThreadedTests) ... ok test_default_ecdh_curve (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 49676) server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1/SSLv3', 256) server: selected protocol is now None ok test_dh_params (test.test_ssl.ThreadedTests) ... server: new connection from ('127.0.0.1', 45312) client: sending b'FOO\n'... server: connection cipher is now ('DHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. ok test_do_handshake_enotconn (test.test_ssl.ThreadedTests) ... ok test_echo (test.test_ssl.ThreadedTests) Basic test of an SSL client connecting to a server ... server: new connection from ('127.0.0.1', 60169) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. server: new connection from ('127.0.0.1', 57455) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. server: new connection from ('127.0.0.1', 54910) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) server: selected protocol is now None client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: sending b'FOO\n'... client: read b'foo\n' client: closing connection. server: new connection from ('127.0.0.1', 44655) client: sending b'FOO\n'... server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1/SSLv3', 256) ====================================================================== ERROR: test_connect_with_context (test.test_ssl.NetworkedTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/test/test_ssl.py", line 1285, in test_connect_with_context s.connect(("svn.python.org", 443)) File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 846, in connect self._real_connect(addr, False) File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 837, in _real_connect self.do_handshake() File "/home/a/Downloads/python3.4.3/Python-3.4.3/Lib/ssl.py", line 810, in do_handshake self._sslobj.do_handshake() ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:600) ---------------------------------------------------------------------- Ran 99 tests in 85.177s FAILED (errors=1, skipped=5) test test_ssl failed make: *** [test] Error 1 

There was a bit more code in the middle, but I deleted it because it would have exceeded the body limit. However, most importantly, 1 test failed, 2 tests changed the runtime and missed 21 tests.

Any idea why I am getting unsuccessful and missed tests even though I followed the exact steps on the Python download page ? Is there an easier way to install Python3.4.3 on my OS?

+6
source share
2 answers

This command will pull the necessary dependencies to create python 3.4 from the source:

 sudo apt-get build-dep python3.4 

Also consider installing through pyenv to avoid conflict with the OS. Installation instructions can be found here: http://davebehnke.com/python-pyenv-ubuntu.html

+2
source

From the test, Python built OK. "Python build completed successfully!" There are missing modules because you do not have the appropriate software installed on your computer.

This is no different than using apt-get, for example, your missing _tkinter, because you do not have the packages needed to run it. Therefore, if you use apt-get, you will have to use "apt-get install python-tk" so that apt-get hangs in the corresponding dependencies. The logic is that if you do not have installed software, you will not need modules to program it.

The only thing I see with "make tests" is ssl failure.

 1 test failed: test_ssl 

Having looked at the test results, you will see: -

 test_ssl: testing with 'OpenSSL 1.0.1f 6 Jan 2014' (1, 0, 1, 6, 15) under Linux ('debian', 'jessie/sid', '') HAS_SNI = True OP_ALL = 0x-7ffffc01 OP_NO_TLSv1_1 = 0x10000000 

This version of OpenSSL contains an SSL protocol vulnerability that was discovered last year and was fixed in OpenSSL 1.0.1j [October 15, 2014]. You can find this information here .

I'm not very sure about Ubuntu since I use Fedora, but you can try: -

 apt-get update apt-get dist-upgrade 

And see if this fixes the SSL vulnerability that your computer has.

Note that if you plan to develop Python applications for systems other than the ones you use, installing from source is the only way.

There are many good reasons to compile from tar.gz.

  • most Linux distributions use Python internally, so they are version related.

  • You can get conflicts between imported modules.

  • you can test your code on different versions of python.

  • you do not need root privileges to configure your own versions so that you are not dependent on what operating systems require.

So, for this example, my home is /home/paul , and I created directories at the root of my home. One src call, which I will use as the source directory, and one called opt , which will contain my versions of Python.

The trick is to tell Python where the installation should go. So put the tar.gz file in the src directory and expand it. Open a terminal and ...

 cd ~/src/Python-XXX ./configure --prefix=/home/paul/opt/python.xxx make make test <optional> make install 

Please note that I have never used sudo since I have rights to my home directory and I am not doing anything on the system.

Now to check ...

 ~/opt/python.3.4.2/bin/python3 Python 3.4.2 (default, Mar 28 2015, 19:36:24) [GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 

And you can just add test versions as new versions become available, just remember to run your code by pointing to the version you want to use.

+1
source

Source: https://habr.com/ru/post/986022/


All Articles