PHK picked a really bad example with secure hash functions.
All of these algorithms are so simple, and have such a simple interface, that copy-pasting the C code is actually easier than linking a library.
And in their most common use case, they're coupled with a bunch of other crypto code which already exists in one of several large crypto libraries (like cryptlib and openssl). So most of the critical mass of "roll this into a library" effort goes into those libraries. Meanwhile, the people who just want hashing don't want to link all of OpenSSL.
All of these algorithms are so simple, and have such a simple interface, that copy-pasting the C code is actually easier than linking a library.
And in their most common use case, they're coupled with a bunch of other crypto code which already exists in one of several large crypto libraries (like cryptlib and openssl). So most of the critical mass of "roll this into a library" effort goes into those libraries. Meanwhile, the people who just want hashing don't want to link all of OpenSSL.