# Which to choose: Crash or Build failure?

**URL:** https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908
**Category:** Development
**Created:** [March 30, 2020, 5:33pm UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908 "2020-03-30T17:33:52Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![gcsharp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/gcsharp/32/863_2.png) [@gcsharp](https://discourse.slicer.org/u/gcsharp)
#### Post date: [March 30, 2020, 5:33pm UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/1 "2020-03-30T17:33:52Z")

</div>

Hi all,  
This is on Debian buster (stable).

If I set Slicer\_USE\_PYTHONQT\_WITH\_OPENSSL=ON, Slicer builds, but it crashes due to the popular OpenSSL version mismatch issue.

If I set Slicer\_USE\_PYTHONQT\_WITH\_OPENSSL=OFF, Slicer build fails with the following:

```
[19%] Performing install step for 'python-setuptools'
CMake Error at /PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-prefix/src/python-setuptools-stamp/python-setuptools-install-Debug.cmake:16 (message):
  Command failed: 1

   '/PHShome/gcs6/build/slicer-4/Slicer-build/python-install/bin/PythonSlicer' '-m' 'pip' 'install' '--require-hashes' '-r' '/PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-requirements.txt'

```

More information here:

```
$ cat /PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-prefix/src/python-setuptools-stamp/python-setuptools-install-*.log
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/setuptools/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/setuptools/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/setuptools/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/setuptools/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/setuptools/
  Could not find a version that satisfies the requirement setuptools==46.0.0 (from -r /PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-requirements.txt (line 1)) (from versions: )
No matching distribution found for setuptools==46.0.0 (from -r /PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-requirements.txt (line 1))
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting setuptools==46.0.0 (from -r /PHShome/gcs6/build/slicer-4/Slicer-build/python-setuptools-requirements.txt (line 1))
  Could not fetch URL https://pypi.org/simple/setuptools/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/setuptools/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping

```

Any thoughts on solving either problem?

---

<div class="post-metadata">

### Author: ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)
#### Post date: [March 30, 2020, 6:48pm UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/2 "2020-03-30T18:48:30Z")

</div>

This looks quite similar to what another user described in [Failed in building 3D Slicer on win10 with vs2015x64](https://discourse.slicer.org/t/failed-in-building-3d-slicer-on-win10-with-vs2015x64/10773). Is there anything on that thread you might be able try? In that case I think the OpenSSL version from an Anaconda install was a problem.

---

<div class="post-metadata">

### Author: ![gcsharp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/gcsharp/32/863_2.png) [@gcsharp](https://discourse.slicer.org/u/gcsharp)
#### Post date: [March 30, 2020, 8:25pm UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/3 "2020-03-30T20:25:37Z")

</div>

Thank you James, it is an interesting thread. I’m not sure, however, what to make from it. It seems that I would have to uninstall OpenSSL, which hundreds of programs depend on.

If I could just tell Slicer to use my OpenSSL instead of its own, I guess the problem would go away.

The other choice could be to build the necessary Qt dependencies against the Slicer-provided OpenSSL. Is there an easy way to do this?

---

<div class="post-metadata">

### Author: ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)
#### Post date: [March 31, 2020, 12:59am UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/4 "2020-03-31T00:59:45Z")

</div>

I haven’t yet looked into using a system OpenSSL instead of the one Slicer uses by default ([https://github.com/Slicer/Slicer-OpenSSL](https://github.com/Slicer/Slicer-OpenSSL)).

I do think Slicer is long over due to using the latest OpenSSL 1.1.1 version since older releases are not supported anymore. This would probably at least avoid incompatibilities. Qt 5.12.4 I know was the first release on that line to support OpenSSL 1.1.1

---

<div class="post-metadata">

### Author: ![gcsharp](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/gcsharp/32/863_2.png) [@gcsharp](https://discourse.slicer.org/u/gcsharp)
#### Post date: [March 31, 2020, 3:19pm UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/5 "2020-03-31T15:19:16Z")

</div>

Indeed. Debian stable is on 1.1.1.

---

<div class="post-metadata">

### Author: ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)
#### Post date: [April 1, 2020, 3:22am UTC](https://discourse.slicer.org/t/which-to-choose-crash-or-build-failure/10908/6 "2020-04-01T03:22:23Z")

</div>

> [@gcsharp](#):
>
> If I could just tell Slicer to use my OpenSSL instead of its own, I guess the problem would go away.

@gcsharp You can try and follow these instructions

> <https://github.com/Slicer/Slicer/blob/9403adc7ebe768be78a5a5033c39f7424f72adaf/SuperBuild/External_OpenSSL.cmake#L183-L186>
