Stochastic package updates

·—— ···· ·· — ····· ···—— ——···
I am thoroughly confused: This afternoon I started setting up a new FreeBSD server. While doing that, I somehow broke bash on my FreeBSD workstation. Here's the error:
$ bash
/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "bash"
To cut to the chase, I fixed this by forcing a gettext upgrade across my installed packages:
$ sudo pkg_add -r portupgrade
<...>
$ sudo portupgrade -rf gettext
So bash is working again. However, I have no idea why it broke. Indeed, libintl.so.6 was apparently AWOL:
$ ldd /usr/local/bin/bash
/usr/local/bin/bash:
libreadline.so.6 => /lib/libreadline.so.6 (0x404db000)
libhistory.so.6 => /usr/lib/libhistory.so.6 (0x40508000)
libncurses.so.6 => /lib/libncurses.so.6 (0x4050f000)
libintl.so.6 => not found (0x0)
libc.so.6 => /lib/libc.so.6 (0x4054e000)
Or was it?
$ ls -l /usr/local/lib|grep libintl
-rw-r--r-- 1 root wheel 51150 Oct 12 2005 libintl.a
lrwxr-xr-x 1 root wheel 12 Oct 12 2005 libintl.so -> libintl.so.6
-r--r--r-- 1 root wheel 40163 Oct 12 2005 libintl.so.6
These files were there unchanged before the gettext upgrade. How did I end up with a bash that couldn't see them?

The obvious scenario would be accidentally running some command on my workstation instead of the server I was setting up, but from the scrollback I can't see that I did that. I'm also not running any automatic port upgrades. What the heck did I do?!
·—— ···· ·· — ····· ···—— ——···
Feed back to Chad Whitacre.