From 354a9ea089fa6264988ff61c79d83c8c24e74c1f Mon Sep 17 00:00:00 2001 From: Dhruba Borthakur Date: Wed, 5 Sep 2012 00:02:16 -0700 Subject: [PATCH] Compile leveldb with gcc 4.7.1 Test Plan: run unit tests Reviewers: heyongqiang Reviewed By: heyongqiang Differential Revision: https://reviews.facebook.net/D5163 --- fbcode.gcc471.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ port/port_posix.h | 6 +++--- 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 fbcode.gcc471.sh diff --git a/fbcode.gcc471.sh b/fbcode.gcc471.sh new file mode 100644 index 000000000..36db07249 --- /dev/null +++ b/fbcode.gcc471.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Set environment variables so that we can compile leveldb using +# fbcode settings. It uses the latest g++ compiler and also +# uses jemalloc +# This is compiled with gcc version 4.7.1 for zeus proxy + +TOOLCHAIN_REV=90cb1654197e56261b1733c704b387285f36208e +TOOLCHAIN_EXECUTABLES="/mnt/gvfs/third-party/$TOOLCHAIN_REV/centos5.2-native" +TOOLCHAIN_LIB_BASE="/mnt/gvfs/third-party/$TOOLCHAIN_REV/gcc-4.7.1-glibc-2.14.1" + +# always build thrift server +export USE_THRIFT=1 + +# location of libhdfs libraries +if test "$USE_HDFS"; then + JAVA_HOME="/usr/local/jdk-6u22-64" + JINCLUDE="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" + GLIBC_RUNTIME_PATH="/usr/local/fbcode/gcc-4.7.1-glibc-2.14.1" + HDFSLIB=" -Wl,--no-whole-archive hdfs/libhdfs.a -L$JAVA_HOME/jre/lib/amd64 " + HDFSLIB+=" -L$JAVA_HOME/jre/lib/amd64/server -L$GLIBC_RUNTIME_PATH/lib " + HDFSLIB+=" -ldl -lverify -ljava -ljvm " +fi + +# location of snappy headers and libraries +SNAPPY_INCLUDE=" -I ./snappy" +SNAPPY_LIBS=" -L./snappy/libs" + +# location of boost headers and libraries +THRIFT_INCLUDE=" -I $TOOLCHAIN_LIB_BASE/boost/boost-1.48.0/bef9365/include -std=gnu++0x" +THRIFT_INCLUDE+=" -I./thrift -I./thrift/gen-cpp -I./thrift/lib/cpp" +THRIFT_LIBS=" -L $TOOLCHAIN_LIB_BASE/boost/boost-1.48.0/bef9365/lib" + +CC="$TOOLCHAIN_EXECUTABLES/gcc/gcc-4.7.1-glibc-2.14.1/bin/gcc" +CXX="$TOOLCHAIN_EXECUTABLES/gcc/gcc-4.7.1-glibc-2.14.1/bin/g++ $JINCLUDE $SNAPPY_INCLUDE $THRIFT_INCLUDE" +AR=$TOOLCHAIN_EXECUTABLES/binutils/binutils-2.21.1/da39a3e/bin/ar +RANLIB=$TOOLCHAIN_EXECUTABLES/binutils/binutils-2.21.1/da39a3e/bin/ranlib + +CFLAGS="-B$TOOLCHAIN_EXECUTABLES/binutils/binutils-2.21.1/bin/gold -m64 -mtune=generic -fPIC" +CFLAGS+=" -I $TOOLCHAIN_LIB_BASE/jemalloc/jemalloc-2.2.5/57d2903/include -DHAVE_JEMALLOC" + +EXEC_LDFLAGS=" -Wl,--whole-archive $TOOLCHAIN_LIB_BASE/jemalloc/jemalloc-2.2.5/57d2903/lib/libjemalloc.a " +EXEC_LDFLAGS+="-Wl,--no-whole-archive $TOOLCHAIN_LIB_BASE/libunwind/libunwind-20100812_experimental/91ddd43/lib/libunwind.a" +EXEC_LDFLAGS+="$HDFSLIB $SNAPPY_LIBS $THRIFT_LIBS " +EXEC_LDFLAGS_SHARED="$SNAPPY_LIBS $TOOLCHAIN_LIB_BASE/jemalloc/jemalloc-2.2.5/57d2903/lib/libjemalloc.so" + +export CC CXX AR RANLIB CFLAGS EXEC_LDFLAGS EXEC_LDFLAGS_SHARED diff --git a/port/port_posix.h b/port/port_posix.h index c8201d8b4..4ccd48fe7 100644 --- a/port/port_posix.h +++ b/port/port_posix.h @@ -263,7 +263,7 @@ inline char* Zlib_Uncompress(const char* input_data, size_t input_length, return output; #endif - return false; + return NULL; } inline bool BZip2_Compress(const char* input, size_t length, @@ -320,7 +320,7 @@ inline bool BZip2_Compress(const char* input, size_t length, return true; return output; #endif - return false; + return NULL; } inline char* BZip2_Uncompress(const char* input_data, size_t input_length, @@ -377,7 +377,7 @@ inline char* BZip2_Uncompress(const char* input_data, size_t input_length, BZ2_bzDecompressEnd(&_stream); return output; #endif - return false; + return NULL; } inline bool GetHeapProfile(void (*func)(void*, const char*, int), void* arg) {