@@ -7,7 +7,7 @@ RUN apt-get update && \
77 if [ "$TARGETARCH" = "$BUILDARCH" ]; then \
88 rustup target list --installed > TARGET && \
99 echo gcc > LINKER && \
10- apt-get install -y gcc libgcc-s1 cmake make autoconf automake libtool pkg-config curl ca-certificates && \
10+ apt-get install -y gcc libgcc-s1 cmake unixodbc-dev libltdl-dev pkg-config && \
1111 LIBMULTIARCH=$(gcc -print-multiarch); \
1212 LIBDIR="/lib/$LIBMULTIARCH" ; \
1313 USRLIBDIR="/usr/lib/$LIBMULTIARCH" ; \
@@ -16,15 +16,15 @@ RUN apt-get update && \
1616 echo aarch64-unknown-linux-gnu > TARGET && \
1717 echo aarch64-linux-gnu-gcc > LINKER && \
1818 dpkg --add-architecture arm64 && apt-get update && \
19- apt-get install -y gcc-aarch64-linux-gnu libgcc-s1-arm64-cross make autoconf automake libtool pkg-config curl ca-certificates && \
19+ apt-get install -y gcc-aarch64-linux-gnu libgcc-s1-arm64-cross unixodbc-dev:arm64 libltdl-dev:arm64 pkg-config && \
2020 LIBDIR="/lib/aarch64-linux-gnu" ; \
2121 USRLIBDIR="/usr/lib/aarch64-linux-gnu" ; \
2222 HOST_TRIPLE="aarch64-linux-gnu" ; \
2323 elif [ "$TARGETARCH" = "arm" ]; then \
2424 echo armv7-unknown-linux-gnueabihf > TARGET && \
2525 echo arm-linux-gnueabihf-gcc > LINKER && \
2626 dpkg --add-architecture armhf && apt-get update && \
27- apt-get install -y gcc-arm-linux-gnueabihf libgcc-s1-armhf-cross cmake libclang1 clang make autoconf automake libtool pkg-config curl ca-certificates && \
27+ apt-get install -y gcc-arm-linux-gnueabihf libgcc-s1-armhf-cross cmake libclang1 clang unixodbc-dev:armhf libltdl-dev:armhf pkg-config && \
2828 cargo install --force --locked bindgen-cli && \
2929 SYSROOT=$(arm-linux-gnueabihf-gcc -print-sysroot); \
3030 echo "--sysroot=$SYSROOT -I$SYSROOT/usr/include -I$SYSROOT/usr/include/arm-linux-gnueabihf" > BINDGEN_EXTRA_CLANG_ARGS; \
@@ -35,12 +35,7 @@ RUN apt-get update && \
3535 echo "Unsupported cross compilation target: $TARGETARCH" ; \
3636 exit 1; \
3737 fi && \
38- ODBC_VERSION="2.3.12" && \
39- curl -fsSL https://www.unixodbc.org/unixODBC-$ODBC_VERSION.tar.gz | tar -xz -C /tmp && \
40- cd /tmp/unixODBC-$ODBC_VERSION && \
41- CC=$(cat LINKER) ./configure --disable-shared --enable-static --host="$HOST_TRIPLE" --prefix=/opt/unixodbc && \
42- make -j"$(nproc)" && make install && \
43- echo /opt/unixodbc/lib > ODBC_LIBDIR && \
38+ echo $USRLIBDIR > ODBC_LIBDIR && \
4439 cp $LIBDIR/libgcc_s.so.1 /opt/sqlpage-libs/ && \
4540 rustup target add $(cat TARGET) && \
4641 cargo init .
@@ -74,9 +69,8 @@ ENV SQLPAGE_WEB_ROOT=/var/www
7469ENV SQLPAGE_CONFIGURATION_DIRECTORY=/etc/sqlpage
7570WORKDIR /var/www
7671COPY --from=builder /usr/src/sqlpage/sqlpage.bin /usr/local/bin/sqlpage
77- # Provide runtime helper libs next to the binary for rpath=$ORIGIN/sqlpage
78- RUN mkdir -p /usr/local/bin/sqlpage
79- COPY --from=builder /opt/sqlpage-libs/* /usr/local/bin/sqlpage/
72+ # Provide runtime helper libs in system lib directory for the glibc busybox base
73+ COPY --from=builder /opt/sqlpage-libs/* /lib/
8074USER sqlpage
8175COPY --from=builder --chown=sqlpage:sqlpage /usr/src/sqlpage/sqlpage/sqlpage.db sqlpage/sqlpage.db
8276EXPOSE 8080
0 commit comments