如何解决在 docker 文件中安装 gdal-3.3.0
我正在尝试使用 gdal
的 3.3.0 版构建自定义 docker 映像,但我很难找到执行此操作的命令或一系列命令。
我当前的 docker 文件安装 gdal-3.0.4
Dockerfile:
FROM ubuntu:focal
RUN apt-get update
RUN apt-get -y install curl gnupg wget
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get -y install nodejs gdal-bin spatialite-bin
COPY . /app
WORKDIR /app
RUN npm install
如何在我的 docker 镜像中获得 3.3.0 版的 gdal?
我尝试了以下方法,但没有成功:
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get -y install curl gnupg wget g++ make sqlite3 libsqlite3-dev libtiff5-dev pkg-config
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN wget https://download.osgeo.org/proj/proj-7.2.0.tar.gz
RUN tar xvzf proj-7.2.0.tar.gz
RUN proj-7.2.0/configure --without-curl
RUN make && make install
RUN wget https://github.com/OSGeo/gdal/releases/download/v3.3.0/gdal-3.3.0.tar.gz
RUN tar xvzf gdal-3.3.0.tar.gz
RUN gdal-3.3.0/configure --with-proj=/usr/local/
RUN make clean && make && make install
RUN export LD_LIBRARY_PATH=/usr/local/lib
RUN apt-get -y install nodejs spatialite-bin
COPY . /app
WORKDIR /app
RUN npm install
这会产生以下输出:
[+] Building 831.3s (16/21)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 818B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:focal 0.7s
=> [internal] load build context 0.0s
=> => transferring context: 4.26kB 0.0s
=> CACHED [ 1/17] FROM docker.io/library/ubuntu:focal@sha256:b3e2e47d016c08b3396b5ebe06ab0b711c34e7f37b98c9d37abe794b71cea0a2 0.0s
=> [ 2/17] RUN apt-get update 5.0s
=> [ 3/17] RUN apt-get -y install curl gnupg wget g++ make sqlite3 libsqlite3-dev libtiff5-dev pkg-config 26.6s
=> [ 4/17] RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - 8.3s
=> [ 5/17] RUN wget https://download.osgeo.org/proj/proj-7.2.0.tar.gz 27.4s
=> [ 6/17] RUN tar xvzf proj-7.2.0.tar.gz 0.5s
=> [ 7/17] RUN proj-7.2.0/configure --without-curl 6.4s
=> [ 8/17] RUN make && make install 731.5s
=> [ 9/17] RUN wget https://github.com/OSGeo/gdal/releases/download/v3.3.0/gdal-3.3.0.tar.gz 5.4s
=> [10/17] RUN tar xvzf gdal-3.3.0.tar.gz 1.2s
=> [11/17] RUN gdal-3.3.0/configure --with-proj=/usr/local/ 11.2s
=> ERROR [12/17] RUN make clean && make && make install 7.1s
------
> [12/17] RUN make clean && make && make install:
#15 0.255 /bin/bash ./config.status
#15 0.562 config.status: creating GDALmake.opt
#15 0.583 config.status: creating port/cpl_config.h
#15 0.599 config.status: port/cpl_config.h is unchanged
#15 0.602 config.status: executing libtool commands
#15 0.629 Making clean in include
#15 0.633 make[1]: Entering directory '/include'
#15 0.638 make[2]: Entering directory '/'
#15 0.640 /bin/bash ./config.status
#15 0.907 config.status: creating GDALmake.opt
#15 0.924 config.status: creating port/cpl_config.h
#15 0.935 config.status: port/cpl_config.h is unchanged
#15 0.938 config.status: executing libtool commands
#15 0.954 make[2]: Leaving directory '/'
#15 0.959 Making clean in proj
#15 0.961 make[2]: Entering directory '/include/proj'
#15 0.964 make[3]: Entering directory '/'
#15 0.966 /bin/bash ./config.status
#15 1.212 config.status: creating GDALmake.opt
#15 1.226 config.status: creating port/cpl_config.h
#15 1.238 config.status: port/cpl_config.h is unchanged
#15 1.241 config.status: executing libtool commands
#15 1.258 make[3]: Leaving directory '/'
#15 1.264 Making clean in internal
#15 1.266 make[3]: Entering directory '/include/proj/internal'
#15 1.269 make[4]: Entering directory '/'
#15 1.271 /bin/bash ./config.status
#15 1.517 config.status: creating GDALmake.opt
#15 1.533 config.status: creating port/cpl_config.h
#15 1.544 config.status: port/cpl_config.h is unchanged
#15 1.547 config.status: executing libtool commands
#15 1.564 make[4]: Leaving directory '/'
#15 1.569 Making clean in nlohmann
#15 1.571 make[4]: Entering directory '/include/proj/internal/nlohmann'
#15 1.575 make[5]: Entering directory '/'
#15 1.577 /bin/bash ./config.status
#15 1.812 config.status: creating GDALmake.opt
#15 1.827 config.status: creating port/cpl_config.h
#15 1.839 config.status: port/cpl_config.h is unchanged
#15 1.842 config.status: executing libtool commands
#15 1.859 make[5]: Leaving directory '/'
#15 1.860 rm -rf .libs _libs
#15 1.862 rm -f *.lo
#15 1.865 make[4]: Leaving directory '/include/proj/internal/nlohmann'
#15 1.869 make[4]: Entering directory '/include/proj/internal'
#15 1.873 make[5]: Entering directory '/'
#15 1.874 /bin/bash ./config.status
#15 2.075 config.status: creating GDALmake.opt
#15 2.087 config.status: creating port/cpl_config.h
#15 2.095 config.status: port/cpl_config.h is unchanged
#15 2.097 config.status: executing libtool commands
#15 2.111 make[5]: Leaving directory '/'
#15 2.112 rm -rf .libs _libs
#15 2.114 rm -f *.lo
#15 2.115 make[4]: Leaving directory '/include/proj/internal'
#15 2.116 make[3]: Leaving directory '/include/proj/internal'
#15 2.118 make[3]: Entering directory '/include/proj'
#15 2.121 make[4]: Entering directory '/'
#15 2.122 /bin/bash ./config.status
#15 2.325 config.status: creating GDALmake.opt
#15 2.341 config.status: creating port/cpl_config.h
#15 2.352 config.status: port/cpl_config.h is unchanged
#15 2.355 config.status: executing libtool commands
#15 2.373 make[4]: Leaving directory '/'
#15 2.374 rm -rf .libs _libs
#15 2.376 rm -f *.lo
#15 2.378 make[3]: Leaving directory '/include/proj'
#15 2.379 make[2]: Leaving directory '/include/proj'
#15 2.381 make[2]: Entering directory '/include'
#15 2.385 make[3]: Entering directory '/'
#15 2.386 /bin/bash ./config.status
#15 2.595 config.status: creating GDALmake.opt
#15 2.607 config.status: creating port/cpl_config.h
#15 2.615 config.status: port/cpl_config.h is unchanged
#15 2.617 config.status: executing libtool commands
#15 2.631 make[3]: Leaving directory '/'
#15 2.632 rm -rf .libs _libs
#15 2.634 rm -f *.lo
#15 2.635 make[2]: Leaving directory '/include'
#15 2.636 make[1]: Leaving directory '/include'
#15 2.637 Making clean in src
#15 2.719 make[1]: Entering directory '/src'
#15 2.723 make[2]: Entering directory '/'
#15 2.724 /bin/bash ./config.status
#15 2.932 config.status: creating GDALmake.opt
#15 2.944 config.status: creating port/cpl_config.h
#15 2.952 config.status: port/cpl_config.h is unchanged
#15 2.954 config.status: executing libtool commands
#15 2.967 make[2]: Leaving directory '/'
#15 2.969 rm -f proj geod cs2cs gie cct projinfo
#15 2.971 rm -f geodtest
#15 2.972 test -z "libproj.la" || rm -f libproj.la
#15 2.977 rm -f ./so_locations
#15 2.978 rm -rf .libs _libs
#15 2.982 rm -rf conversions/.libs conversions/_libs
#15 2.984 rm -rf iso19111/.libs iso19111/_libs
#15 2.986 rm -rf projections/.libs projections/_libs
#15 2.989 rm -rf transformations/.libs transformations/_libs
#15 2.992 rm -f *.o
#15 2.994 rm -f apps/*.o
#15 2.997 rm -f conversions/*.o
#15 2.999 rm -f conversions/*.lo
#15 3.000 rm -f iso19111/*.o
#15 3.002 rm -f iso19111/*.lo
#15 3.005 rm -f projections/*.o
#15 3.009 rm -f projections/*.lo
#15 3.013 rm -f tests/*.o
#15 3.016 rm -f transformations/*.o
#15 3.018 rm -f transformations/*.lo
#15 3.020 test -z "geodtest.log" || rm -f geodtest.log
#15 3.022 test -z "geodtest.trs" || rm -f geodtest.trs
#15 3.024 test -z "test-suite.log" || rm -f test-suite.log
#15 3.026 rm -f *.lo
#15 3.029 make[1]: Leaving directory '/src'
#15 3.030 Making clean in man
#15 3.032 make[1]: Entering directory '/man'
#15 3.036 make[2]: Entering directory '/'
#15 3.038 /bin/bash ./config.status
#15 3.227 config.status: creating GDALmake.opt
#15 3.239 config.status: creating port/cpl_config.h
#15 3.247 config.status: port/cpl_config.h is unchanged
#15 3.249 config.status: executing libtool commands
#15 3.263 make[2]: Leaving directory '/'
#15 3.267 Making clean in man1
#15 3.269 make[2]: Entering directory '/man/man1'
#15 3.272 make[3]: Entering directory '/'
#15 3.273 /bin/bash ./config.status
#15 3.473 config.status: creating GDALmake.opt
#15 3.484 config.status: creating port/cpl_config.h
#15 3.493 config.status: port/cpl_config.h is unchanged
#15 3.494 config.status: executing libtool commands
#15 3.507 make[3]: Leaving directory '/'
#15 3.508 rm -rf .libs _libs
#15 3.510 rm -f *.lo
#15 3.511 make[2]: Leaving directory '/man/man1'
#15 3.514 make[2]: Entering directory '/man'
#15 3.516 make[3]: Entering directory '/'
#15 3.518 /bin/bash ./config.status
#15 3.715 config.status: creating GDALmake.opt
#15 3.727 config.status: creating port/cpl_config.h
#15 3.736 config.status: port/cpl_config.h is unchanged
#15 3.738 config.status: executing libtool commands
#15 3.751 make[3]: Leaving directory '/'
#15 3.751 rm -rf .libs _libs
#15 3.753 rm -f *.lo
#15 3.755 make[2]: Leaving directory '/man'
#15 3.756 make[1]: Leaving directory '/man'
#15 3.757 Making clean in data
#15 3.759 make[1]: Entering directory '/data'
#15 3.762 make[2]: Entering directory '/'
#15 3.763 /bin/bash ./config.status
#15 3.959 config.status: creating GDALmake.opt
#15 3.972 config.status: creating port/cpl_config.h
#15 3.980 config.status: port/cpl_config.h is unchanged
#15 3.982 config.status: executing libtool commands
#15 3.996 make[2]: Leaving directory '/'
#15 3.996 rm -rf .libs _libs
#15 3.998 rm -f proj.db
#15 4.000 rm -f -rf for_tests
#15 4.002 rm -f *.lo
#15 4.004 make[1]: Leaving directory '/data'
#15 4.005 Making clean in cmake
#15 4.007 make[1]: Entering directory '/cmake'
#15 4.009 make[2]: Entering directory '/'
#15 4.011 /bin/bash ./config.status
#15 4.203 config.status: creating GDALmake.opt
#15 4.216 config.status: creating port/cpl_config.h
#15 4.229 config.status: port/cpl_config.h is unchanged
#15 4.231 config.status: executing libtool commands
#15 4.248 make[2]: Leaving directory '/'
#15 4.248 rm -rf .libs _libs
#15 4.250 rm -f *.lo
#15 4.253 make[1]: Leaving directory '/cmake'
#15 4.255 make[1]: Entering directory '/'
#15 4.256 /bin/bash ./config.status
#15 4.476 config.status: creating GDALmake.opt
#15 4.488 config.status: creating port/cpl_config.h
#15 4.496 config.status: port/cpl_config.h is unchanged
#15 4.498 config.status: executing libtool commands
#15 4.512 rm -rf .libs _libs
#15 4.513 rm -f README
#15 4.515 rm -f *.lo
#15 4.517 make[1]: Leaving directory '/'
#15 4.522 /bin/bash ./config.status
#15 4.727 config.status: creating GDALmake.opt
#15 4.740 config.status: creating port/cpl_config.h
#15 4.748 config.status: port/cpl_config.h is unchanged
#15 4.751 config.status: executing libtool commands
#15 4.768 Making all in include
#15 4.771 make[1]: Entering directory '/include'
#15 4.773 make[2]: Entering directory '/'
#15 4.775 /bin/bash ./config.status
#15 4.971 config.status: creating GDALmake.opt
#15 4.983 config.status: creating port/cpl_config.h
#15 4.992 config.status: port/cpl_config.h is unchanged
#15 4.994 config.status: executing libtool commands
#15 5.008 make[2]: Leaving directory '/'
#15 5.012 Making all in proj
#15 5.013 make[2]: Entering directory '/include/proj'
#15 5.016 make[3]: Entering directory '/'
#15 5.018 /bin/bash ./config.status
#15 5.214 config.status: creating GDALmake.opt
#15 5.226 config.status: creating port/cpl_config.h
#15 5.234 config.status: port/cpl_config.h is unchanged
#15 5.236 config.status: executing libtool commands
#15 5.249 make[3]: Leaving directory '/'
#15 5.254 Making all in internal
#15 5.255 make[3]: Entering directory '/include/proj/internal'
#15 5.258 make[4]: Entering directory '/'
#15 5.260 /bin/bash ./config.status
#15 5.381 config.status: creating GDALmake.opt
#15 5.394 config.status: creating port/cpl_config.h
#15 5.402 config.status: port/cpl_config.h is unchanged
#15 5.404 config.status: executing libtool commands
#15 5.417 make[4]: Leaving directory '/'
#15 5.421 Making all in nlohmann
#15 5.423 make[4]: Entering directory '/include/proj/internal/nlohmann'
#15 5.426 make[5]: Entering directory '/'
#15 5.427 /bin/bash ./config.status
#15 5.628 config.status: creating GDALmake.opt
#15 5.643 config.status: creating port/cpl_config.h
#15 5.651 config.status: port/cpl_config.h is unchanged
#15 5.653 config.status: executing libtool commands
#15 5.668 make[5]: Leaving directory '/'
#15 5.668 make[4]: Nothing to be done for 'all'.
#15 5.668 make[4]: Leaving directory '/include/proj/internal/nlohmann'
#15 5.671 make[4]: Entering directory '/include/proj/internal'
#15 5.675 make[5]: Entering directory '/'
#15 5.676 /bin/bash ./config.status
#15 5.879 config.status: creating GDALmake.opt
#15 5.890 config.status: creating port/cpl_config.h
#15 5.899 config.status: port/cpl_config.h is unchanged
#15 5.901 config.status: executing libtool commands
#15 5.916 make[5]: Leaving directory '/'
#15 5.917 make[4]: Nothing to be done for 'all-am'.
#15 5.917 make[4]: Leaving directory '/include/proj/internal'
#15 5.918 make[3]: Leaving directory '/include/proj/internal'
#15 5.920 make[3]: Entering directory '/include/proj'
#15 5.923 make[4]: Entering directory '/'
#15 5.925 /bin/bash ./config.status
#15 6.135 config.status: creating GDALmake.opt
#15 6.152 config.status: creating port/cpl_config.h
#15 6.162 config.status: port/cpl_config.h is unchanged
#15 6.164 config.status: executing libtool commands
#15 6.181 make[4]: Leaving directory '/'
#15 6.182 make[3]: Nothing to be done for 'all-am'.
#15 6.182 make[3]: Leaving directory '/include/proj'
#15 6.183 make[2]: Leaving directory '/include/proj'
#15 6.185 make[2]: Entering directory '/include'
#15 6.188 make[3]: Entering directory '/'
#15 6.190 /bin/bash ./config.status
#15 6.409 config.status: creating GDALmake.opt
#15 6.421 config.status: creating port/cpl_config.h
#15 6.429 config.status: port/cpl_config.h is unchanged
#15 6.432 config.status: executing libtool commands
#15 6.446 make[3]: Leaving directory '/'
#15 6.447 make[2]: Nothing to be done for 'all-am'.
#15 6.447 make[2]: Leaving directory '/include'
#15 6.448 make[1]: Leaving directory '/include'
#15 6.448 Making all in src
#15 6.557 make[1]: Entering directory '/src'
#15 6.561 make[2]: Entering directory '/'
#15 6.563 /bin/bash ./config.status
#15 6.798 config.status: creating GDALmake.opt
#15 6.813 config.status: creating port/cpl_config.h
#15 6.824 config.status: port/cpl_config.h is unchanged
#15 6.826 config.status: executing libtool commands
#15 6.840 make[2]: Leaving directory '/'
#15 6.843 cd .. && /bin/bash ./config.status src/proj_config.h
#15 7.048 config.status: error: invalid argument: `src/proj_config.h'
#15 7.048 make[1]: *** [Makefile:1079: stamp-h1] Error 1
#15 7.048 make[1]: Leaving directory '/src'
#15 7.050 make: *** [Makefile:463: all-recursive] Error 1
------
executor failed running [/bin/sh -c make clean && make && make install]: exit code: 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。