我正在尝试在conda环境中编译HDF4和HDF-EOS2,包括其Fortran库。我从conda-forge的two feedstocks开始。
在HDF4的build.sh脚本中,我删除了配置选项.custom-control-right
和--disable-fortran
(由于Fortran库由于某些原因不支持共享库)并添加了{{ 1}}和--enable-shared
。在meta.yaml中,我将--with-szip
添加到主机并运行需求。在配置过程中失败,声称找不到libjpeg。我可以通过在构建要求中添加zlib,szip和jpeg来解决此问题,但是我想知道为什么原始配方不需要那些?
HDF-EOS2的编译使用属于HDF4库的{{ compiler('fortran') }}
脚本。在conda-build中编译时,此操作失败,因为该脚本在HDF4构建环境中硬链接到szip
的副本。例如,第46行
压缩包中h4cc
中的
gcc
如何使conda-build识别并替换该路径?它已经在捕获指向工作目录的路径(用h4cc
代替),而不是构建环境路径。
我希望,如果我能够解决这两个问题,那么我可能会解决的其他问题。