In case any of you update perl (by mistake) on FreeBSD and then is wondering why aren’t things working well with programs that depends on it, here is a fix that I’ve found on the fbsd forum by DutchDaemon.
- Check whether portmaster created a backup package, which should be located in/usr/ports/packages/portmaster-backup as pcre-8.21_1.tbz. If it exists, pkg_delete the installed PCRE, and reinstall this package, and then use the proper portmaster -w command to upgrade PCRE. This will place the old pcre.0 as /usr/local/lib/compat/pkg/libpcre.so.0.
- The binary package for the older version of PCRE is still available via
pkg_add -r pcre-8.21_1. You can pkg_delete the new version, and then revert back to this package. Then upgrade usingportmaster -w, as above.
- Last option, and this is not the way you should be doing it, but you could get away with linking the old library to the new one. As I understand it from /usr/ports/UPDATING all dependent ports will be updated to point to the new library in the near future, so you may be able to keep working in the meantime by
cd /usr/local/lib && ln -s libpcre.so.1 libpcre.so.0This may or may not lead to errors. Note that you should make a note of this and remove the link when all dependent packages are upgraded to use the new PCRE. Again: last option, try the previous ones first.“
Actually it did work on my server!