Solved Nodejs and libcrypto.so wrong version after upgrade

Just "pkg upgrade"d everything and now I have a problem with www/node erroring out with:
Code:
ld-elf.so.1: /lib/libcrypto.so.111: version OPENSSL_1_1_1e required by /usr/local/bin/node not found
I've tried obvious things like rebooting and deleted and reinstalled node. I can't work out what package "libcrypto.so" is from, so can't do the same for that. Note this is all using packages, no ports involved.

Thanks in advance, Ben
 
The OS version is "12.2-RELEASE-p6", this is still supported? kjeacle's suggestion does work, and doesn't seem to be causing any other problems. I also haven't noticed any other problems with versions/compatibility of anything else.
 
The OS version is "12.2-RELEASE-p6", this is still supported?
Yes, FreeBSD 12.2-RELEASE is still supported. But you are missing a couple of security and errata patches. Notably these:

So I suggest running freebsd-update(8) and install the latest patches for 12.2-RELEASE.
 
I also haven't noticed any other problems with versions/compatibility of anything else.
It's very likely they would appear over time. Seems node links to a specific version of OpenSSL, other packages will probably do so as well; as soon as they are rebuilt for FreeBSD 12.2, they will have the same problem.

To make it very clear: Your base system currently has a vulnerable version of OpenSSL. Upgrade it.
 
Thanks, managed to get this far, and this's after updating and rebooting:
Code:
root@airloom:/usr/home/ben # freebsd-version -uk
12.2-RELEASE-p7
12.2-RELEASE-p10
root@airloom:/usr/home/ben # uname -a
FreeBSD airloom.org 12.2-RELEASE-p7 FreeBSD 12.2-RELEASE-p7 GENERIC  amd64
Now "freebsd-update fetch" claims there's no more updates.
So I try to finish the update to p10 with "freebsd-update -r 12.2-RELEASE-p10 upgrade" I and eventually get a rather odd message:
Code:
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 12.2-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic kernel/generic-dbg world/base world/doc world/lib32

The following components of FreeBSD do not seem to be installed:
world/base-dbg world/lib32-dbg

Does this look reasonable (y/n)? y

Fetching metadata signature for 12.2-RELEASE-p10 from update2.freebsd.org... failed.
Fetching metadata signature for 12.2-RELEASE-p10 from update1.freebsd.org... failed.
No mirrors remaining, giving up.

This may be because upgrading from this platform (amd64)
or release (12.2-RELEASE-p10) is unsupported by freebsd-update. Only
platforms with Tier 1 support can be upgraded by freebsd-update.
See https://www.freebsd.org/platforms/index.html for more info.

If unsupported, FreeBSD must be upgraded by source.

Sorry about this, I have looked around the forums and such, but couldn't find anything matching.
Thanks in advance
 
The upgrade is for upgrading major or minor version, not for patches. Use freebsd-update fetch to fetch them, then freebsd-update install to install it.
 
Oops, ok I'd missed that about upgrade option. But I was only trying that because fetch option shows No updates needed to update system to 12.2-RELEASE-p10. and install show no updates and says to run fetch.
But despite this freebsd-version shows that the kernel and the userland are at different versions. Are they meant to be the same, or does that mean the patch updates are complete?
 
The kernel can (and will) stay at an older patch level if there were only fixes that didn't affect the kernel.
 
Did you reboot after the update? Also check freebsd-version -uk. It's fine if the kernel and userland have different patch versions, if I recall correctly the last few patches didn't involve anything from the kernel, so it wasn't updated and would therefor show a lower patch version.

After the reboot (I always like to reboot after patches, regardless if it affected the kernel or not), you can check the OpenSSL version with openssl version. That should show the required version for www/node now.
 
Back
Top