brew install fails: curl(77) error setting certificate verify

Stone Info Labs picture Stone Info Labs · Aug 23, 2017 · Viewed 8.7k times · Source

ok, so im running an old Mac 10.6.8 with homebrew. brew doctor reports no errors and i have tried brew prune update etc. Everytime i try to install a package, i get this error:

curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs

ive tried everything, openssl is installed, but the folder mentioned

/usr/local/etc/openssl/certs

as well as

/etc/ssl/certs/ca-certificates.crt

is not there. can anyone save me?

Full Sample:

jonathan-fullers-iMac% brew install git 
Updating Homebrew...
==> Installing dependencies for git: xz
==> Installing git dependency: xz
==> Downloading https://downloads.sourceforge.net/project/lzmautils/xz-5.2.3.tar

curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://tukaani.org/xz/xz-5.2.3.tar.gz

curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs
Error: Failed to download resource "xz"
Download failed: https://tukaani.org/xz/xz-5.2.3.tar.gz

brew doctor reports:

jonathan-fullers-iMac% brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: You are using macOS 10.6.
We (and Apple) do not provide support for this old version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.

Edit

Found a stray .curlrc file, removed it, now error changed to:

jonathan-fullers-iMac% curl https://github.com
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs

But the PEM file is there...:

jonathan-fullers-iMac% pwd && echo "\r\n" && ls
/usr/local/etc/openssl
cert.pem    certs       misc        openssl.cnf private

Here is my Path, just in case:

jonathan-fullers-iMac% echo $PATH
/Users/werlious/.bin:
/usr/local/bin:
/usr/local/opt/curl/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin

Another Edit I tried reinstalling openssl, install gave me no errors but uninstall gave me:

jonathan-fullers-iMac% brew uninstall --ignore-dependencies openssl && brew install openssl
Uninstalling /usr/local/Cellar/openssl/1.0.2l... (1,701 files, 12.7MB)
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
Updating Homebrew...
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/curl/bin/curl
  Reason: image not found

Yet Another Update So after reinstallingopenssl, i now have this:

jonathan-fullers-iMac% brew install python
Updating Homebrew...
==> Installing dependencies for python: readline, sqlite, gdbm
==> Installing python dependency: readline
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz
  curl: (77) error setting certificate verify locations:
   CAfile: /usr/local/etc/openssl/cert.pem
   CApath: /usr/local/etc/openssl/certs
Trying a mirror... 
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0.tar.gz
==> Downloading from http://mirrors.ibiblio.org/gnu/ftp/gnu/readline/readline-7.
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70

curl: (77) error setting certificate verify locations:
  CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirror.easthsia.com/gnu/readline/readline-7.0-patche
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70

curl: (77) error setting certificate verify locations:
  CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
Trying a mirror... 
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirrors.ibiblio.org/gnu/ftp/gnu/readline/readline-7.
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70

curl: (77) error setting certificate verify locations:
  CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirror.us-midwest-1.nexcess.net/gnu/readline/readlin
 ######################################################################## 100.0%
 ==> Patching
==> Applying readline70-001
patching file history.c
patching file patchlevel  
==> Applying readline70-002
patching file history.c
patching file patchlevel
==> Applying readline70-003
patching file input.c
patching file patchlevel
==> ./configure --prefix=/usr/local/Cellar/readline/7.0.3_1
==> make install
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only..
For compilers to find this software you may need to set:
   LDFLAGS:  -L/usr/local/opt/readline/lib
   CPPFLAGS: -I/usr/local/opt/readline/include

==> Summary
/usr/local/Cellar/readline/7.0.3_1: 46 files, 1.5MB, built in 3 minutes 6 seconds
==> Installing python dependency: sqlite
==> Downloading https://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz

curl: (77) error setting certificate verify locations:
  CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
Error: Failed to download resource "sqlite"
Download failed: https://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz

Im so lost. i have no idea what is goin on from this point

Answer

jianyongli picture jianyongli · Mar 25, 2019

This error message indicates that curl is not able to establish a secure connection using openssl you can:

first

echo insecure >> ~/.curlrc
git config --global http.sslVerify false

then reinstall openssl and curl

HOMEBREW_CURLRC=1 brew reinstall openssl curl

last

sed -i '/^insecure$/d' ~/.curlrc
git config --global http.sslVerify true