【问题标题】:Building TileServer GL from source on CentOS 7在 CentOS 7 上从源代码构建 TileServer GL
【发布时间】:2017-11-19 00:11:27
【问题描述】:

我已经成功地在 Debian 环境中从源代码构建和运行 TileServer GL,但是此安装的要求是它必须在 CentOS 7 上,而且我似乎遇到了一个无法克服的问题。无论如何,我都不是 linux 专家,所以我希望这里的人能够提供一些指导。

以下是我安装 Node 和 CentOS 依赖项的 Dockerfile 部分:

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 图像时,T​​ileServer 尝试启动但随后说:

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) 我在 CentOS 中无法更新 libstdc++ 是真的吗?

2) 如果属实,那么还有其他方法可以解决这个问题吗?有没有一种方法可以构建 TileServer GL 或 mapbox-gl-native,其中可以接受早期版本的 c++?

这个问题是mentioned in this issue thread,但从来没有任何解决方案。对此的任何帮助都会非常棒。

【问题讨论】:

    标签: c++ linux centos7 mapbox-gl openmaptiles


    【解决方案1】:

    添加

    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 映像,它应该可以工作。这有点hacky,但它有效:)

    来源:https://github.com/rmrice/tileserver-gl/blob/0441685f0db7f890d9510039767a1f66f5e3edbe/docs/installation_centos.rst

    【讨论】:

    • 你是救星!!我喜欢您的解决方案来自最初在 Github 问题线程中提出问题的用户 rmrice。这太棒了 - 非常感谢。如果可以的话,我会 +1000 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多