./dev_setup.sh curl error

I installed Mycroft on my Debian device yesterday. Everything was fine, until I run ./dev_setup.sh .
Then, after installing dependencies an error occurred. This is it’s content:

% Total % Received % Xferd Average Speed Time Time Time Current

                   Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Failed to set up virtualenv for mycroft, exiting setup.

I’ve no idea how to fix this, please help.

Hi there, this does seem strange…

Given you’re on a Debian system, the only curl download should be from https://bootstrap.pypa.io

Can you visit that link and see if you get a certificate error?

I executed all the scripts with the .py extension from that link and the error shows again.

Hi Magic,

The error is essentially saying that it couldn’t get a valid SSL certificate to connect via https to the bootstrap.pypa.io domain.

Where ever possible it’s best to use https as the certificate verifies you are communicating with the correct server. If you use regular http then it’s possible for another server to sit in the middle and say “yep, that’s me”, then serve you malicious content, or steal the information you send to it.

So I was curious if you visit the link in your browser, does your browser receive a valid certificate?
As an example this is what it looks like in in my browser:

If you click on “Certificate (Valid)” you should be presented with something like:

If yours is different or not valid, that would explain the problem with the script.

You can tell curl to ignore the invalid certificate, or not to check for it. However this is a significant security concern, so best to solve the underlying problem and keep your computer safe.

I’m not possible to check curl in that way, so I edited ./dev_setup.sh file. Where there was a “curl” line, I added -k. This solved the problem for now. Thank you for your help.

Unfortunately, the script only worked for a while. Configuration has been blocked since:
I can’t do anything with it.

Do you have the “ca-certifcates” package installed?

This package installs CA certificates to /usr/share/ca-certificates and creates symbolic links under
/etc/ssl/certs. For example, the libcurl package uses these certificates for https urls.

Yes, I’ve them installed.

Strange, than CURL should be able to access HTTPS links ?!?!

Is that why I couldn’t go to google.com, for example? My browser (Luakit) is not loading websites - shows (insecure).

I don’t know exactly, normally the browser is checking the certificates.

I had similar issues with Buildroot which I fixed by installing/including the CA certificates package.

Thank you for your interest, but I just reset the system and everything works.

1 Like

In case anyone else is running into the same issue — package ca-certificates was already installed for me as well, but I needed to install package ca-cacert too.