‘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
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

Incredible Demos

  • By
    Record Text Selections Using MooTools or jQuery AJAX

    One technique I'm seeing more and more these days (CNNSI.com, for example) is AJAX recording of selected text. It makes sense -- if you detect users selecting the terms over and over again, you can probably assume your visitors are searching that term on Google...

  • By
    Introducing MooTools Dotter

    It's best practice to provide an indicator of some sort when performing an AJAX request or processing that takes place in the background. Since the dawn of AJAX, we've been using colorful spinners and imagery as indicators. While I enjoy those images, I am...

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!