From 38a20ffc199bb66fd973585083bedc179415b355 Mon Sep 17 00:00:00 2001 From: Samuel Fernandes Date: Fri, 17 Jan 2025 20:37:20 +0000 Subject: [PATCH] fix: dockerfile building --- BUILD.md | 16 ++++++++++ docker/Dockerfile.alpine | 28 +++++++++++++++--- docker/README-musl.md | 22 -------------- .../native/Linux/aarch64/libsnappyjava.so | Bin 208976 -> 208976 bytes 4 files changed, 40 insertions(+), 26 deletions(-) delete mode 100644 docker/README-musl.md diff --git a/BUILD.md b/BUILD.md index 86eac4a..46a3301 100755 --- a/BUILD.md +++ b/BUILD.md @@ -116,4 +116,20 @@ If you are using Mac and openjdk7 (or higher), use the following option: $ make native LIBNAME=libsnappyjava.dylib +## Building with musl libc +This project now supports building with musl libc, which is commonly used in Alpine Linux. To build using musl: +1. Use the provided Alpine-based Dockerfile: +```bash +docker build -f docker/Dockerfile.alpine -t snappy-java-alpine . +docker run -it snappy-java-alpine sh +make +``` + +2. The build process will: +- Use musl libc instead of glibc +- Statically link required libraries +- Create a native library compatible with Alpine/musl systems + +The resulting library will be placed in: +`src/main/resources/org/xerial/snappy/native/Linux-musl/x86_64/libsnappyjava.so` diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 3b6119e..26821b8 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,16 +1,36 @@ FROM alpine:3.18 +# Set workspace directory +WORKDIR /work + +# Copy the project to the container +COPY . . + # Install build dependencies RUN apk add --no-cache \ + openjdk8 \ cmake \ make \ gcc \ g++ \ musl-dev \ - linux-headers + linux-headers \ + git \ + util-linux \ + bash \ + curl -# Set workspace directory -WORKDIR /work +# Install SBT +RUN curl -L "https://github.com/sbt/sbt/releases/download/v1.9.7/sbt-1.9.7.tgz" | tar xz -C /usr/local +ENV PATH="/usr/local/sbt/bin:${PATH}" -# Build the project +# Install python/pip +ENV PYTHONUNBUFFERED=1 +RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python +RUN python3 -m ensurepip +RUN pip3 install --no-cache --upgrade pip setuptools + +# Set Env Vars ENV CC=gcc CXX=g++ TARGET_OS=Linux-musl +ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk +ENV PATH="${JAVA_HOME}/bin:${PATH}" diff --git a/docker/README-musl.md b/docker/README-musl.md deleted file mode 100644 index 1d56e36..0000000 --- a/docker/README-musl.md +++ /dev/null @@ -1,22 +0,0 @@ -# Building with musl libc - -This project now supports building with musl libc, which is commonly used in Alpine Linux. To build using musl: - -1. Use the provided Alpine-based Dockerfile: -```bash -docker build -f docker/Dockerfile.alpine -t snappy-java-alpine . -``` - -2. The build process will: -- Use musl libc instead of glibc -- Statically link required libraries -- Create a native library compatible with Alpine/musl systems - -The resulting library will be placed in: -`src/main/resources/org/xerial/snappy/native/Linux-musl/x86_64/libsnappyjava.so` - -## Testing -To test the musl build: -```bash -docker run --rm snappy-java-alpine -cp target/snappy-java-*.jar org.xerial.snappy.SnappyLoader -``` \ No newline at end of file diff --git a/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so index c4fa5a437755f8fe25a70f5c04b7a038e167b50c..fa18338f430f6edc7455ae336569413bd86d1f42 100755 GIT binary patch delta 48830 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 delta 49175 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