如何在Sierra

时间:2017-08-27 17:45:10

标签: numpy homebrew macos-sierra gdal

我正在尝试在macOS Sierra(10.12.6)上安装旧版本的gdal(1.10)。这种需求的原因是我已经对土地覆盖变化进行了评估,其中数据集的初始处理在2014年完成。我已经更新了gdal,并且达到了2.1。然而,回到重新运行我的完整工作流程(检查再现性),我发现gdalwarp在2.1(kyngchaos版本)和1.11.5(最近的家庭酿造版本)之间产生略有不同的结果,并且仍然有一些我正在使用gdalwarp 1.11.5和我最早的分析重新处理数据集之间的微小差异,我认为最初必须使用gdal 1.10完成。

既然冗长的序言已经完成,我的问题是试图在Sierra上安装gdal 1.10,以便我可以完全重现我的工作流程。我尝试使用自制程序查找旧版本,按照此处的说明进行操作:Homebrew install specific version of formula?

该帖子中的案例1不相关(我没有安装任何旧版本的gdal,因为这是一台全新的机器)。案例2不起作用,因为不推荐使用自制程序/版本。

我也尝试了案例3,但3a(版本命令不再存在)和3b都没有工作。

$ git log -S'1.10.1' -- Library/Formula/gdal.rb
$ git log -S'110' -- Library/Formula/gdal.rb

什么都不返回。

案例4我会承认我不知道该怎么办,所以没试过。

我确实在osgeo / osgeo4mac / boneyard中找到了gdal 1.10的一个版本,但是我努力尝试从那里安装它失败了。

$ brew tap osgeo / osgeo4mac

$ brew search gdal
gdal ✔                           osgeo/osgeo4mac/gdal1-mysql      osgeo/osgeo4mac/gdal2-mrsid
osgeo/osgeo4mac/gdal-sosi        osgeo/osgeo4mac/gdal1-oracle     osgeo/osgeo4mac/gdal2-mysql
osgeo/osgeo4mac/gdal1-ecwjp2     osgeo/osgeo4mac/gdal2            osgeo/osgeo4mac/gdal2-oracle
osgeo/osgeo4mac/gdal1-filegdb    osgeo/osgeo4mac/gdal2-ecwjp2     osgeo/osgeo4mac/gdal2-python
osgeo/osgeo4mac/gdal1-grass6     osgeo/osgeo4mac/gdal2-filegdb    osgeo/osgeo4mac/gdal2-sosi
osgeo/osgeo4mac/gdal1-mrsid      osgeo/osgeo4mac/gdal2-grass7     osgeo/osgeo4mac/pdfium-gdal2
caskroom/cask/gdal-framework

不显示可通过gdal安装的任何早期版本的gdal。

$ brew tap homebrew/boneyard
$ brew info homebrew/boneyard/gdal.rb
$ brew info homebrew/boneyard/gdal-110.rb

也没有欢乐。

Error: No previously deleted formula found.

是答案的大小。我最接近的是尝试这个:

$ brew install https://raw.githubusercontent.com/OSGeo/homebrew-osgeo4mac/master/boneyard/gdal-110.rb
==> Using Homebrew-provided fortran compiler.
This may be changed by setting the FC environment variable.
==> Downloading http://download.osgeo.org/gdal/1.10.1/gdal-1.10.1.tar.gz
Already downloaded: /Users/lestes/Library/Caches/Homebrew/gdal-110-1.10.1.tar.gz
==> Patching
patching file GDALmake.opt.in
patching file configure
patching file configure.in
patching file ogr/ogrsf_frmts/mysql/GNUmakefile
patching file ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp
patching file port/cpl_spawn.cpp
==> Downloading http://downloads.sourceforge.net/project/numpy/NumPy/1.8.1/numpy-1.8.1.tar.gz
==> Downloading from https://newcontinuum.dl.sourceforge.net/project/numpy/NumPy/1.8.1/numpy-1.8.
######################################################################## 100.0%
Error: SHA256 mismatch
Expected: d4f85af64afe57a76e2b3a79cfcac740fb8ce8a3cd6402662f3c760abfa515e4
Actual: 3d722fc3ac922a34c50183683e828052cd9bb7e9134a95098441297d7ea1c7a9

所以这似乎朝着正确的方向前进,但我猜测numpy 1.8.1的来源。它一直在寻找已被改变。

尚未尝试,因为我不想弄乱我的gdal 2.1和QGIS安装,这里是源构建方向:https://trac.osgeo.org/gdal/wiki/BuildingOnMac

特别是“框架方式”的指示,只能通过优胜美地。

感谢您通过阅读的耐心,我将非常感谢如何将gdal 1.10添加到我的机器上的任何指示/更正。

1 个答案:

答案 0 :(得分:0)

感谢@mazibuko的这项研究。

您遇到的错误

Error: SHA256 mismatch
Expected: d4f85af64afe57a76e2b3a79cfcac740fb8ce8a3cd6402662f3c760abfa515e4
Actual: 3d722fc3ac922a34c50183683e828052cd9bb7e9134a95098441297d7ea1c7a9

可能是因为您使用的公式中的sha256行是错误的。您只需更改.rb文件中的公式即可。在/ usr / local / Homebrew

中搜索

如果其他人只需要gdal 1.x,则解决起来可能更加简单。对于我自己的情况,我用

解决了这个问题
brew tap osgeo/osgeo4mac
brew install sogeo/osgeo4mac/gdal1-filegdb # just picked one with minimal dependencies

为我提供了Cellar/gdal/1.11.5_4,然后我可以对其进行手动链接:

brew unlink gdal
cd $(brew --prefix) # /usr/local/
cd bin
ln -s ../Cellar/gdal/1.11.5_4/bin/gdal-config gdal-config

之所以可行,是因为很多事情只需要gdal-config即可到达gdal路径,这样就足够了。要像@mazibuko一样完全使用gdal,那么您必须手动进行所有链接(最新gdal中有209个符号链接!),因为gdal1-filegdb的brew link链接事情与brew链接gdal曾经做过的事情不同时间。