Сборка TileServer GL из исходного кода на CentOS 7

Я успешно собрал и запустил TileServer GL из исходного кода в среде Debian, однако требования для этой установки должны быть на CentOS 7, и мне кажется, что я столкнулся с непреодолимой проблемой. Я не эксперт по Linux, как бы то ни было, поэтому я надеюсь, что кто-то здесь сможет предложить какое-то руководство.

Ниже приведена часть моего Dockerfile, где я устанавливаю зависимости Node и CentOS:

FROM centos:latest
RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
RUN yum -y install nodejs \
cairo \
cairo-devel \
gcc-c++ \
libcurl-devel \
libgcc.x86_64 \
libXxf86vm-devel \
make \
mesa-libGL-devel \
mesa-libgbm \
mesa-libGLES \
protobuf-devel \
xorg-x11-server-Xvfb
RUN rm -rf /var/cache/yum

# Symlink to libcurl-gnutls
RUN ln -s /usr/lib64/libcurl.so.4 /usr/lib64/libcurl-gnutls.so.4

Когда я docker run TileServer пытается запустить изображение, но затем говорит:

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /tileserver-gl/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node)

В CentOS 7 версии GLIBCXX останавливаются на 3.4.19, и из того, что я прочитал, изменить это невозможно. Итак, мои вопросы:

1) Правда ли, что я не могу обновить libstdc ++ в CentOS?

2) Если это правда, то есть ли другой способ обойти это? Есть ли способ, которым я мог бы создать TileServer GL или mapbox-gl-native, где более ранние версии c ++ приемлемы?

Эта проблема упоминается в этой теме но никогда не бывает никакого разрешения. Любая помощь с этим была бы очень полезна.

0

Решение

добавлять

RUN echo "[warning:fedora]" | tee /etc/yum.repos.d/FedoraRepo.repo && \
echo "name=fedora" | tee -a /etc/yum.repos.d/FedoraRepo.repo  && \
echo "mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-23&arch=\$basearch" | tee -a /etc/yum.repos.d/FedoraRepo.repo  && \
echo "enabled=1" | tee -a /etc/yum.repos.d/FedoraRepo.repo  && \
echo "gpgcheck=1" | tee -a /etc/yum.repos.d/FedoraRepo.repo  && \
echo "gpgkey=https://getfedora.org/static/34EC9CBA.txt" | tee -a /etc/yum.repos.d/FedoraRepo.repo  && \
yum -y update gcc g++

на ваш образ Docker, и он должен работать. Это немного глупо, но это работает 🙂

Источник: https://github.com/rmrice/tileserver-gl/blob/0441685f0db7f890d9510039767a1f66f5e3edbe/docs/installation_centos.rst

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]