Support C++17 Docker build environments for RocksJava (#9500)

Summary:
See https://github.com/facebook/rocksdb/issues/9388#issuecomment-1029583789

Pull Request resolved: https://github.com/facebook/rocksdb/pull/9500

Reviewed By: pdillinger

Differential Revision: D34114687

Pulled By: jay-zhuang

fbshipit-source-id: 22129d99ccd0dba7e8f1b263ddc5520d939641bf
This commit is contained in:
Adam Retter 2022-02-17 12:47:45 -08:00 committed by Facebook GitHub Bot
parent babe56ddba
commit 5e64407923
2 changed files with 19 additions and 15 deletions

View File

@ -2324,7 +2324,7 @@ rocksdbjavastaticdockerarm64v8:
rocksdbjavastaticdockers390x: rocksdbjavastaticdockers390x:
mkdir -p java/target mkdir -p java/target
docker run --rm --name rocksdb_linux_s390x-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:centos7_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh docker run --rm --name rocksdb_linux_s390x-be --attach stdin --attach stdout --attach stderr --volume $(HOME)/.m2:/root/.m2:ro --volume `pwd`:/rocksdb-host:ro --volume /rocksdb-local-build --volume `pwd`/java/target:/rocksdb-java-target --env DEBUG_LEVEL=$(DEBUG_LEVEL) evolvedbinary/rocksjava:ubuntu18_s390x-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh
rocksdbjavastaticdockerx86musl: rocksdbjavastaticdockerx86musl:
mkdir -p java/target mkdir -p java/target

View File

@ -13,21 +13,25 @@ cd /rocksdb-local-build
# Use scl devtoolset if available # Use scl devtoolset if available
if hash scl 2>/dev/null; then if hash scl 2>/dev/null; then
if scl --list | grep -q 'devtoolset-7'; then if scl --list | grep -q 'devtoolset-8'; then
# CentOS 7+ # CentOS 6+
scl enable devtoolset-7 'make clean-not-downloaded' scl enable devtoolset-8 'make clean-not-downloaded'
scl enable devtoolset-7 'PORTABLE=1 make -j2 rocksdbjavastatic' scl enable devtoolset-8 'PORTABLE=1 make -j2 rocksdbjavastatic'
elif scl --list | grep -q 'devtoolset-2'; then elif scl --list | grep -q 'devtoolset-7'; then
# CentOS 5 or 6 # CentOS 6+
scl enable devtoolset-2 'make clean-not-downloaded' scl enable devtoolset-7 'make clean-not-downloaded'
scl enable devtoolset-2 'PORTABLE=1 make -j2 rocksdbjavastatic' scl enable devtoolset-7 'PORTABLE=1 make -j2 rocksdbjavastatic'
else elif scl --list | grep -q 'devtoolset-2'; then
echo "Could not find devtoolset" # CentOS 5 or 6
exit 1; scl enable devtoolset-2 'make clean-not-downloaded'
fi scl enable devtoolset-2 'PORTABLE=1 make -j2 rocksdbjavastatic'
else
echo "Could not find devtoolset"
exit 1;
fi
else else
make clean-not-downloaded make clean-not-downloaded
PORTABLE=1 make -j2 rocksdbjavastatic PORTABLE=1 make -j2 rocksdbjavastatic
fi fi
cp java/target/librocksdbjni-linux*.so java/target/rocksdbjni-*-linux*.jar java/target/rocksdbjni-*-linux*.jar.sha1 /rocksdb-java-target cp java/target/librocksdbjni-linux*.so java/target/rocksdbjni-*-linux*.jar java/target/rocksdbjni-*-linux*.jar.sha1 /rocksdb-java-target