HADOOP-7868. Hadoop native fails to compile when default linker option is -Wl,--as-needed. Contributed by Trevor Robinson
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1336491 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a67054d7c3
commit
1849fde096
|
@ -496,6 +496,9 @@ Release 2.0.0 - UNRELEASED
|
|||
HADOOP-8172. Configuration no longer sets all keys in a deprecated key
|
||||
list. (Anupam Seth via bobby)
|
||||
|
||||
HADOOP-7868. Hadoop native fails to compile when default linker
|
||||
option is -Wl,--as-needed. (Trevor Robinson via eli)
|
||||
|
||||
Release 0.23.3 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# AC_COMPUTE_NEEDED_DSO(LIBRARY, PREPROC_SYMBOL)
|
||||
# AC_COMPUTE_NEEDED_DSO(LIBRARY, TEST_PROGRAM, PREPROC_SYMBOL)
|
||||
# --------------------------------------------------
|
||||
# Compute the 'actual' dynamic-library used
|
||||
# for LIBRARY and set it to PREPROC_SYMBOL
|
||||
|
@ -6,7 +6,7 @@ AC_DEFUN([AC_COMPUTE_NEEDED_DSO],
|
|||
[
|
||||
AC_CACHE_CHECK([Checking for the 'actual' dynamic-library for '-l$1'], ac_cv_libname_$1,
|
||||
[
|
||||
echo 'int main(int argc, char **argv){return 0;}' > conftest.c
|
||||
echo '$2' > conftest.c
|
||||
if test -z "`${CC} ${LDFLAGS} -o conftest conftest.c -l$1 2>&1`"; then
|
||||
dnl Try objdump and ldd in that order to get the dynamic library
|
||||
if test ! -z "`which objdump | grep -v 'no objdump'`"; then
|
||||
|
@ -24,5 +24,5 @@ AC_CACHE_CHECK([Checking for the 'actual' dynamic-library for '-l$1'], ac_cv_lib
|
|||
rm -f conftest*
|
||||
]
|
||||
)
|
||||
AC_DEFINE_UNQUOTED($2, ${ac_cv_libname_$1}, [The 'actual' dynamic-library for '-l$1'])
|
||||
AC_DEFINE_UNQUOTED($3, ${ac_cv_libname_$1}, [The 'actual' dynamic-library for '-l$1'])
|
||||
])# AC_COMPUTE_NEEDED_DSO
|
||||
|
|
|
@ -87,10 +87,20 @@ CPPFLAGS=$cppflags_bak
|
|||
AC_SUBST([JNI_CPPFLAGS])
|
||||
|
||||
dnl Check for zlib headers
|
||||
AC_CHECK_HEADERS([zlib.h zconf.h], AC_COMPUTE_NEEDED_DSO(z,HADOOP_ZLIB_LIBRARY), AC_MSG_ERROR(Zlib headers were not found... native-hadoop library needs zlib to build. Please install the requisite zlib development package.))
|
||||
AC_CHECK_HEADERS([zlib.h zconf.h],
|
||||
AC_COMPUTE_NEEDED_DSO(z,
|
||||
[#include "zlib.h"
|
||||
int main(int argc, char **argv){zlibVersion();return 0;}],
|
||||
HADOOP_ZLIB_LIBRARY),
|
||||
AC_MSG_ERROR(Zlib headers were not found... native-hadoop library needs zlib to build. Please install the requisite zlib development package.))
|
||||
|
||||
dnl Check for snappy headers
|
||||
AC_CHECK_HEADERS([snappy-c.h], AC_COMPUTE_NEEDED_DSO(snappy,HADOOP_SNAPPY_LIBRARY), AC_MSG_WARN(Snappy headers were not found... building without snappy.))
|
||||
AC_CHECK_HEADERS([snappy-c.h],
|
||||
AC_COMPUTE_NEEDED_DSO(snappy,
|
||||
[#include "snappy-c.h"
|
||||
int main(int argc, char **argv){snappy_compress(0,0,0,0);return 0;}],
|
||||
HADOOP_SNAPPY_LIBRARY),
|
||||
AC_MSG_WARN(Snappy headers were not found... building without snappy.))
|
||||
|
||||
dnl Check for headers needed by the native Group resolution implementation
|
||||
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h], [], AC_MSG_ERROR(Some system headers not found... please ensure their presence on your platform.))
|
||||
|
|
Loading…
Reference in New Issue