In dynamic builds we produce a library called libunwind.so. Things that link to it end up with DT_NEEDED entries that reference libunwind.so. That's not a great idea: the system almost surely has a libunwind.so and it surely isn't the one we intend things to use at load time. Normally, it shouldn't be a problem because our DT_RUNPATH uses $ORIGIN or the macOS analogue, so we will look in our PREFIX_LIBDIR first. But other things can get in the way, like an errant LD_LIBRARY_PATH, since LD_LIBRARY_PATH is searched before DT_RUNPATH. This exact situation has happened to developers and led to great confusion.
We can leverage the SCons SHLIBPREFIX variable to have all of our libraries come out with a libmongo_ prefix. So we would have libmongo_unwind.so, libmongo_tcmalloc_minimal.so.
Due to the way libdeps works, we wouldn't need to actually replace any of the library references in our existing LIBDEPS declarations in our SConscripts, so the change required to make this safety improvement is quite small.