I think the original problem is that if snappy is present, but libhadooop missing, the error message is "no native lib". But the patch calls NativeCodeLoader.buildSupportsSnappy(), which triggers a native code load, which triggers the link exception if the native lib isn't there. Whatever was intended, the latest patch doesn't fix.
so this doesn't fix the underlying problem, merely makes the error message even less informative than before.
The only way to fix the original problem is to have a probe for snappy being present which doesn't depend on the native lib at all