When we try to
./configure some Linux software from source before
makeing it, usually there is a huge list of checking other software parameters performed, for instance the below is a tiny part of such a long list:
-- Java Home guessed: /usr/lib/jvm/java -- Found ANT: /usr/bin/ant -- Building libhdfs -- Could NOT find MPI (missing: MPI_LIBRARY MPI_INCLUDE_PATH) -- MPI Not Found! Distributed Executables will not be compiled -- Looking for pthread_setaffinity_np -- Looking for pthread_setaffinity_np - found -- Performing Test HAS_MARCH_NATIVE -- Performing Test HAS_MARCH_NATIVE - Success -- Performing Test HAS_MTUNE_NATIVE -- Performing Test HAS_MTUNE_NATIVE - Success -- Performing Test HAS_CRC32 -- Performing Test HAS_CRC32 - Failed
I have always been surprised by this huge list of checks - are they really all necessary? In many cases some conditions are Failed - like the last line of the example - however the configure continues successfully, so this means they were not necessary?