_ZSt28__throw_bad_array_new_lengthv symbol not found

Viewed 609

I want to write a Dockerfile in which I can specify the version of the extensions. But I have a problem when I run this docker file I get an error in timescale part

Error relocating /usr/bin/cmake: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEv: symbol not found Error relocating /usr/bin/cmake: _ZSt28__throw_bad_array_new_lengthv: symbol not found The command '/bin/sh -c set -ex && apk add --no-cache --virtual .fetch-deps build-base ca-certificates git tar && apk add --no-cache --virtual .build-deps --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing make cmake gcc clang clang-dev g++ llvm-dev dpkg dpkg-dev util-linux-dev libc-dev coreutils && apk add --no-cache --virtual .timescaledb-rundeps openssl libstdc++ openssl-dev && wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" && echo "$TIMESCALEDB_SHA256 timescaledb.tar.gz" | sha256sum -c - && mkdir -p /usr/src/timescaledb && tar --extract --file timescaledb.tar.gz --directory /usr/src/timescaledb --strip-components 1 && rm timescaledb.tar.gz && cd /usr/src/timescaledb && ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF && cd ./build && make install && cd / && rm -rf /usr/src/timescaledb && apk del .fetch-deps .build-deps && sed -r -i "s/[#]\s*(shared_preload_libraries)\s*=\s*'(.)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample' returned a non-zero code: 127 ##[error]The command '/bin/sh -c set -ex && apk add --no-cache --virtual .fetch-deps build-base ca-certificates git tar && apk add --no-cache --virtual .build-deps --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing make cmake gcc clang clang-dev g++ llvm-dev dpkg dpkg-dev util-linux-dev libc-dev coreutils && apk add --no-cache --virtual .timescaledb-rundeps openssl libstdc++ openssl-dev && wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" && echo "$TIMESCALEDB_SHA256 timescaledb.tar.gz" | sha256sum -c - && mkdir -p /usr/src/timescaledb && tar --extract --file timescaledb.tar.gz --directory /usr/src/timescaledb --strip-components 1 && rm timescaledb.tar.gz && cd /usr/src/timescaledb && ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF && cd ./build && make install && cd / && rm -rf /usr/src/timescaledb && apk del .fetch-deps .build-deps && sed -r -i "s/[#]\s(shared_preload_libraries)\s*=\s*'(.*)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample' returned a non-zero code: 127 ##[error]The process '/usr/bin/docker' failed with exit code 127

could you please help me. Thanks

# https://github.com/docker-library/postgres/blob/master/13/alpine/Dockerfile
FROM postgres:13.4-alpine

# https://postgis.net/docs/manual-3.1/postgis_installation.html
ENV POSTGIS_VERSION 3.1.4
ENV POSTGIS_SHA256 dfcbad0c6090c80bc59d3ea77d1adc4b3ade533a403761b4af6d9a44be1a6e48
RUN set -ex \
    \
    && apk add --no-cache --virtual .fetch-deps ca-certificates openssl tar \
    \
    && wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/$POSTGIS_VERSION.tar.gz" \
    && echo "$POSTGIS_SHA256 *postgis.tar.gz" | sha256sum -c - \
    && mkdir -p /usr/src/postgis \
    && tar \
        --extract \
        --file postgis.tar.gz \
        --directory /usr/src/postgis \
        --strip-components 1 \
    && rm postgis.tar.gz \
    \
    && apk add --no-cache --virtual .build-deps \
        autoconf automake json-c-dev libtool libxml2-dev make perl llvm clang clang-dev \
    \
    && apk add --no-cache --virtual .build-deps-edge \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
        g++ gdal-dev geos-dev proj-dev protobuf-c-dev \
    && cd /usr/src/postgis \
    && ./autogen.sh \
    && ./configure \
    && make \
    && make install \
    && apk add --no-cache --virtual .postgis-rundeps \
        json-c \
    && apk add --no-cache --virtual .postgis-rundeps-edge \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
        geos gdal proj protobuf-c libstdc++ \
    && cd / \
    && rm -rf /usr/src/postgis \
    && apk del .fetch-deps .build-deps .build-deps-edge

# https://docs.timescale.com/timescaledb/latest/how-to-guides/install-timescaledb/self-hosted/ubuntu/installation-source
ENV TIMESCALEDB_VERSION 2.4.2
ENV TIMESCALEDB_SHA256 b206a376251259eb745eee819e7a853b3fbab9dc8443303714484a0fef89a2a4
RUN set -ex \
    && apk add --no-cache --virtual .fetch-deps \
        build-base \
        ca-certificates \
        git \
        tar \
    && apk add --no-cache --virtual .build-deps \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
        make \
        cmake \
        gcc \
        clang \
        clang-dev \
        g++ \
        llvm-dev \
        dpkg \
        dpkg-dev \
        util-linux-dev \
        libc-dev \
        coreutils \
    && apk add --no-cache --virtual .timescaledb-rundeps \
        openssl \
        libstdc++ \
        openssl-dev \
    \
    && wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" \
    && echo "$TIMESCALEDB_SHA256 *timescaledb.tar.gz" | sha256sum -c - \
    && mkdir -p /usr/src/timescaledb \
    && tar \
        --extract \
        --file timescaledb.tar.gz \
        --directory /usr/src/timescaledb \
        --strip-components 1 \
    && rm timescaledb.tar.gz \
    \
    && cd /usr/src/timescaledb \
    && ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF \
    && cd ./build && make install \
    \
    && cd / \
    && rm -rf /usr/src/timescaledb \
    && apk del .fetch-deps .build-deps \
    && sed -r -i "s/[#]*\s*(shared_preload_libraries)\s*=\s*'(.*)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample



COPY ./init-postgis.sh /docker-entrypoint-initdb.d/1.postgis.sh
COPY ./init-timescaledb.sh /docker-entrypoint-initdb.d/2.timescaledb.sh
COPY ./init-postgres.sh /docker-entrypoint-initdb.d/3.postgres.sh

0 Answers
Related