Don’t you just love it when package maintainers break you blog? Yeah, me too. Tonight I went to post an article (no, not this one) and found my site to be down. When I went to start it back up I got this:

[ghost ~]$ /usr/bin/npm start --production
node: error while loading shared libraries: libhttp_parser.so.2: cannot open shared object file: No such file or directory

As it turns out, the maintainer of the nodejs-6.10.3-1.el7.x86_64 package added this to their changelog:

* Wed May 10 2017 Stephen Gallagher <sgallagh@redhat.com> - 1:6.10.3-1
- Update to 6.10.3 (LTS)
- https://nodejs.org/en/blog/release/v6.10.3/
- Stop using the bundled http-parser now that there is an upstream
  release with a new-enough version.

What they didn’t do was update the their dependancies to pull in the http-parser package. Thus, when the update ran and the service bounced my blog stopped working. Even though the fix was a simple yum install http-parser this should have never happened as breaking changes like this are contrary to why people run CentOS and RHEL.

For anyone interested, I filed a ticket for this at https://bugs.centos.org/view.php?id=13380.

update 24 Aug. 2017

It seems things have gotten worse if you are not yet on the code from CentOS 7.4 as http-parser has been removed from EPEL per https://bugzilla.redhat.com/show_bug.cgi?id=1481470