]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Merge pull request #759 from jwlent55/statically-load-compression-libraries
authorYueh-Hsuan Chiang <yhchiang@fb.com>
Sat, 10 Oct 2015 03:03:39 +0000 (20:03 -0700)
committerYueh-Hsuan Chiang <yhchiang@fb.com>
Thu, 15 Oct 2015 22:04:53 +0000 (15:04 -0700)
Ensure that the compression libraries are statically linked into dyna…

Makefile
build_tools/build_detect_platform
java/crossbuild/build-linux-centos.sh

index 45b7d5eb5793c7f56e5cb4e60ff5436bfed98878..19d058387824a50cb37580b1be0e4434ebabb09b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1035,7 +1035,7 @@ rocksdbjavastatic: $(java_libobjects) libz.a libbz2.a libsnappy.a liblz4.a
        $(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC \
          -o ./java/target/$(ROCKSDBJNILIB) $(JNI_NATIVE_SOURCES) \
          $(java_libobjects) $(COVERAGEFLAGS) \
-         libz.a libbz2.a libsnappy.a liblz4.a $(LDFLAGS)
+         libz.a libbz2.a libsnappy.a liblz4.a $(JAVA_STATIC_LDFLAGS)
        cd java/target;strip -S -x $(ROCKSDBJNILIB)
        cd java;jar -cf target/$(ROCKSDB_JAR) HISTORY*.md
        cd java/target;jar -uf $(ROCKSDB_JAR) $(ROCKSDBJNILIB)
index fc8341e74ce7fbc65e02d0f133662983a9dc3a5a..fb8aae748ba1ec441e254e3ef54bbe009e149839 100755 (executable)
@@ -8,6 +8,7 @@
 #   CXX                         C++ Compiler path
 #   PLATFORM_LDFLAGS            Linker flags
 #   JAVA_LDFLAGS                Linker flags for RocksDBJava
+#   JAVA_STATIC_LDFLAGS         Linker flags for RocksDBJava static build
 #   PLATFORM_SHARED_EXT         Extension for shared libraries
 #   PLATFORM_SHARED_LDFLAGS     Flags for building shared library
 #   PLATFORM_SHARED_CFLAGS      Flags for compiling objects for shared library
@@ -181,6 +182,7 @@ esac
 
 PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS ${CXXFLAGS}"
 JAVA_LDFLAGS="$PLATFORM_LDFLAGS"
+JAVA_STATIC_LDFLAGS="$PLATFORM_LDFLAGS"
 
 if [ "$CROSS_COMPILE" = "true" -o "$FBCODE_BUILD" = "true" ]; then
     # Cross-compiling; do not try any compilation tests.
@@ -374,6 +376,7 @@ echo "CXX=$CXX" >> "$OUTPUT"
 echo "PLATFORM=$PLATFORM" >> "$OUTPUT"
 echo "PLATFORM_LDFLAGS=$PLATFORM_LDFLAGS" >> "$OUTPUT"
 echo "JAVA_LDFLAGS=$JAVA_LDFLAGS" >> "$OUTPUT"
+echo "JAVA_STATIC_LDFLAGS=$JAVA_STATIC_LDFLAGS" >> "$OUTPUT"
 echo "VALGRIND_VER=$VALGRIND_VER" >> "$OUTPUT"
 echo "PLATFORM_CCFLAGS=$PLATFORM_CCFLAGS" >> "$OUTPUT"
 echo "PLATFORM_CXXFLAGS=$PLATFORM_CXXFLAGS" >> "$OUTPUT"
index f2b79480d50bfaae5230d126b803400cc4a24ad1..1e37fa9d4184bbbe5814a2322bcc05f91ddcfea2 100755 (executable)
@@ -8,8 +8,8 @@ sudo wget -O /etc/yum.repos.d/slc5-devtoolset.repo http://linuxsoft.cern.ch/cern
 sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-cern http://ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/51/i386/RPM-GPG-KEYs/RPM-GPG-KEY-cern
 sudo yum -y install devtoolset-2
 
-wget http://gflags.googlecode.com/files/gflags-1.6.tar.gz
-tar xvfz gflags-1.6.tar.gz; cd gflags-1.6; scl enable devtoolset-2 ./configure; scl enable devtoolset-2 make; sudo make install
+wget http://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz
+tar xvfz gflags-2.0-no-svn-files.tar.gz; cd gflags-2.0; scl enable devtoolset-2 ./configure; scl enable devtoolset-2 make; sudo make install
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
 
 # set java home so we can build rocksdb jars
@@ -18,7 +18,7 @@ export JAVA_HOME=/usr/lib/jvm/java-1.7.0
 # build rocksdb
 cd /rocksdb
 scl enable devtoolset-2 'make jclean clean'
-scl enable devtoolset-2 'make rocksdbjavastatic'
+scl enable devtoolset-2 'PORTABLE=1 make rocksdbjavastatic'
 cp /rocksdb/java/target/librocksdbjni-* /rocksdb-build
 cp /rocksdb/java/target/rocksdbjni-* /rocksdb-build