What the man page says - "Nm displays the name list (symbol table) of each object file in the argument list."
If you want to list the symbols or function names in the binary library you can see their names using this command.
Example:
nm opt/hadoop-2.4.0/lib/native/libhadoop.so
If you have to check whether there is support for snappy in your hadoop binary do this:
nm opt/hadoop-2.4.0/lib/native/libhadoop.so | grep -i snappy
And you should see something like this:
Java_org_apache_hadoop_io_compress_snappy_SnappyCompressor_compressBytesDirect0000000000003960 T Java_org_apache_hadoop_io_compress_snappy_SnappyCompressor_initIDs0000000000003bb0 T Java_org_apache_hadoop_io_compress_snappy_SnappyDecompressor_decompressBytesDirect0000000000003f60 T Java_org_apache_hadoop_io_compress_snappy_SnappyDecompressor_initIDs0000000000206cf0 b dlsym_snappy_compress0000000000206d20 b dlsym_snappy_uncompress
Without these Java native methods being compiled and available in the libhadoop.so, MR runtime will also complain that "native snappy library not available".
If you want to list the symbols or function names in the binary library you can see their names using this command.
Example:
nm opt/hadoop-2.4.0/lib/native/libhadoop.so
If you have to check whether there is support for snappy in your hadoop binary do this:
nm opt/hadoop-2.4.0/lib/native/libhadoop.so | grep -i snappy
And you should see something like this:
Java_org_apache_hadoop_io_compress_snappy_SnappyCompressor_compressBytesDirect0000000000003960 T Java_org_apache_hadoop_io_compress_snappy_SnappyCompressor_initIDs0000000000003bb0 T Java_org_apache_hadoop_io_compress_snappy_SnappyDecompressor_decompressBytesDirect0000000000003f60 T Java_org_apache_hadoop_io_compress_snappy_SnappyDecompressor_initIDs0000000000206cf0 b dlsym_snappy_compress0000000000206d20 b dlsym_snappy_uncompress
Without these Java native methods being compiled and available in the libhadoop.so, MR runtime will also complain that "native snappy library not available".