Summary:
Add the jni library for musl-libc, specifically for incorporating into Alpine based docker images. The classifier is `musl64`.
I have signed the CLA electronically.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/3143
Differential Revision: D18719372
fbshipit-source-id: 6189d149310b6436d6def7d808566b0234b23313
main
Patrick Double5 years agocommitted byFacebook Github Bot
cd java/src/main/java;jar -cf ../../../target/$(ROCKSDB_SOURCES_JAR) org
cd java/src/main/java;jar -cf ../../../target/$(ROCKSDB_SOURCES_JAR) org
rocksdbjavastaticrelease:rocksdbjavastatic
rocksdbjavastaticrelease:rocksdbjavastatic
cd java/crossbuild && vagrant destroy -f && vagrant up linux32 && vagrant halt linux32 && vagrant up linux64 && vagrant halt linux64
cd java/crossbuild &&(vagrant destroy -f||true)&& vagrant up linux32 && vagrant halt linux32 && vagrant up linux64 && vagrant halt linux64&& vagrant up linux64-musl && vagrant halt linux64-musl
cd java;jar -cf target/$(ROCKSDB_JAR_ALL) HISTORY*.md
cd java;jar -cf target/$(ROCKSDB_JAR_ALL) HISTORY*.md
cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
Once you have these items, run this make command from RocksDB's root source directory:
Once you have these items, run this make command from RocksDB's root source directory:
make jclean clean rocksdbjavastaticrelease
make jclean clean rocksdbjavastaticreleasedocker
This command will build RocksDB natively on OSX, and will then spin up two Vagrant Virtualbox Ubuntu images to build RocksDB for both 32-bit and 64-bit Linux.
This command will build RocksDB natively on OSX, and will then spin up docker containers to build RocksDB for 32-bit and 64-bit Linux with glibc, and 32-bit and 64-bit Linux with musl libc.
You can find all native binaries and JARs in the java/target directory upon completion:
You can find all native binaries and JARs in the java/target directory upon completion:
librocksdbjni-linux32.so
librocksdbjni-linux32.so
librocksdbjni-linux64.so
librocksdbjni-linux64.so
librocksdbjni-linux64-musl.so
librocksdbjni-linux32-musl.so
librocksdbjni-osx.jnilib
librocksdbjni-osx.jnilib
rocksdbjni-3.5.0-javadoc.jar
rocksdbjni-x.y.z-javadoc.jar
rocksdbjni-3.5.0-linux32.jar
rocksdbjni-x.y.z-linux32.jar
rocksdbjni-3.5.0-linux64.jar
rocksdbjni-x.y.z-linux64.jar
rocksdbjni-3.5.0-osx.jar
rocksdbjni-x.y.z-linux64-musl.jar
rocksdbjni-3.5.0-sources.jar
rocksdbjni-x.y.z-linux32-musl.jar
rocksdbjni-3.5.0.jar
rocksdbjni-x.y.z-osx.jar
rocksdbjni-x.y.z-sources.jar
rocksdbjni-x.y.z.jar
Where x.y.z is the built version number of RocksDB.