‘openssl/opensslv.h’ file not found

By  on  

Every system update is an adventure when you're a software engineer.  We do everything we can to use virtual machines so that we have (almost) complete control of the environment but sometimes you simply need to work on your host system.  Everything goes great until you update your operating system and boom: you run into an issue you thought you had fixed before.

One such issue is the 'openssl/opensslv.h' file not found problem I get when updating El Capitan.   Each OS update breaks my local dev environment and I have to scramble to get the snippet to fix everything again.  The snippet I need is:

# "'openssl/opensslv.h' file not found"
brew install openssl
brew link openssl --force

That snippet installs openssl and reestablishes the links required for access from anything that wants to use it.

Symbol not found: _BIO_new_CMS

Hand in hand with the original issue is this one whereby cryptography has a fit.  Here's how I fix the _BIO_new_CMS problem:

# Symbol not found: _BIO_new_CMS
pip uninstall cryptography
LDFLAGS="-L/usr/local/opt/openssl/lib" pip install cryptography --no-use-wheel

I found each of these snippets on the third page of a random forum so hopefully having them in one place saves someone a bunch of time!

Recent Features

  • By
    39 Shirts – Leaving Mozilla

    In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell...

  • By
    CSS Gradients

    With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements.  CSS gradients are another step in that direction.  Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...

Incredible Demos

  • By
    jQuery Chosen Plugin

    Without a doubt, my least favorite form element is the SELECT element.  The element is almost unstylable, looks different across platforms, has had inconsistent value access, and disaster that is the result of multiple=true is, well, a disaster.  Needless to say, whenever a developer goes...

  • By
    Smooth Scrolling with MooTools Fx.SmoothScroll

    I get quite a few support requests for my previous MooTools SmoothScroll article and the issue usually boils down to the fact that SmoothScroll has become Fx.SmoothScroll. Here's a simple usage of Fx.SmoothScroll. The HTML The only HTML requirement for Fx.SmoothScroll is that all named...

Discussion

  1. Justin

    Thanks for the advice. This resolved missing openssl/opensslv.h

    brew install openssl
    brew link openssl --force
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!