diff --git a/ubuntu-22.04-risc/Dockerfile b/ubuntu-22.04-risc/Dockerfile index 2ab3f4d..169ee90 100644 --- a/ubuntu-22.04-risc/Dockerfile +++ b/ubuntu-22.04-risc/Dockerfile @@ -1,7 +1,7 @@ FROM riscv64/ubuntu:focal as base RUN apt-get update && \ - DEBIAN_FRONTEND="noninteractive" apt-get install -y tree build-essential cmake curl wget git make pkg-config libgmp-dev libboost-dev libssl-dev zlib1g zlib1g-dev libreadline-dev libffi-dev && \ + DEBIAN_FRONTEND="noninteractive" apt-get install -y build-essential cmake curl wget git make pkg-config libgmp-dev libboost-dev libssl-dev zlib1g zlib1g-dev libreadline-dev libffi-dev && \ rm -rf /var/lib/apt/lists/* FROM base as ld @@ -9,56 +9,28 @@ FROM base as ld RUN curl -L -O https://ftpmirror.gnu.org/gnu/binutils/binutils-2.38.tar.gz && \ tar -xvzf binutils-2.38.tar.gz && \ cd binutils-2.38 && \ - ./configure --enable-ld --disable-gas --disable-gmp --disable-gold --disable-gprof --prefix=/opt/ld && \ + ./configure --enable-ld --disable-gas --disable-gmp --disable-gold --disable-gprof --prefix=/ld/usr && \ make && \ make install && \ - tree /opt && \ - /opt/ld/bin/ld --version - -FROM base as sqlite - -RUN curl -L -O https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz && \ - tar -xvzf sqlite-autoconf-3400100.tar.gz && \ - cd sqlite-autoconf-3400100 && \ - CFLAGS="-DSQLITE_MAX_VARIABLE_NUMBER=500000" ./configure --prefix=/opt/sqlite3 && \ - make && \ - make install && \ - tree /opt && \ - /opt/sqlite3/bin/sqlite3 -version + ls -la /ld/usr/bin && \ + ld --version FROM base as final -COPY --from=ld /opt/ld /usr - -COPY --from=sqlite /opt/sqlite3 /opt/sqlite3 - -RUN tree /opt && \ - ld --version && \ - /opt/sqlite3/bin/sqlite3 -version +COPY --from=ld /ld/usr /usr +RUN ls -la /usr/bin && \ + ld --version ENV PYENV_ROOT=/root/.pyenv ENV PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH" -RUN curl https://pyenv.run | bash - -ARG PYTHON_CONFIGURE_OPTS="--enable-shared" -ARG LDFLAGS="-Wl,-rpath,/opt/sqlite3/lib -L/opt/sqlite3/lib -lsqlite3" -ARG CPPFLAGS="-I/opt/sqlite3/include" - -RUN pyenv install 3.8 -RUN pyenv install 3.9 -RUN pyenv install 3.10 -RUN pyenv install 3.11 -RUN pyenv install 3.12 - -RUN pyenv global 3.12 3.11 3.10 3.9 3.8 - -# make sure sqlite is loaded from the expected path -RUN ldd $(python3.8 -c 'import _sqlite3; print(_sqlite3.__file__)') | grep /opt/sqlite3/lib/ -RUN ldd $(python3.9 -c 'import _sqlite3; print(_sqlite3.__file__)') | grep /opt/sqlite3/lib/ -RUN ldd $(python3.10 -c 'import _sqlite3; print(_sqlite3.__file__)') | grep /opt/sqlite3/lib/ -RUN ldd $(python3.11 -c 'import _sqlite3; print(_sqlite3.__file__)') | grep /opt/sqlite3/lib/ -RUN ldd $(python3.12 -c 'import _sqlite3; print(_sqlite3.__file__)') | grep /opt/sqlite3/lib/ +RUN curl https://pyenv.run | bash && \ + PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --skip-existing 3.8 && \ + PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --skip-existing 3.9 && \ + PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --skip-existing 3.10 && \ + PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --skip-existing 3.11 && \ + PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install --skip-existing 3.12 && \ + pyenv global 3.12 ENV PATH="/root/.cargo/bin:${PATH}" ENV RUST_BACKTRACE=1