我正在尝试运行一个通过Conda安装的Geant 4模拟。为此,需要编译“cmake”。虽然我的Geant 4所需的所有软件包都是最新的,但“cmake”所需的一组库文件(位于我的XCode命令行工具中)不是。ZLIB的版本是1.2.11,但需要是1.2.13。
我最初尝试通过更新XCode命令行工具来修复此问题(CLT)然后删除并重新安装它们。Nether进程更新了ZLIB。然后我尝试直接从Homebrew安装ZLIB,现在似乎有了最新版本(1.2.13),但是这个版本没有翻译成CLT,只存在于/usr/local/Cellar/zlib/1.2.13/...中,这是有意义的。这也是用MacPorts完成的,并且安装存储在其关联的文件目录中。
我担心直接复制到CLT,因为没有文件匹配所需的“libz.tbd”格式,而且我对修改库文件本身没有信心。有没有其他方法可以在命令行工具中更新ZLIB,这样我就可以正确编译“cmake”?
以下是运行的命令和相关错误:
%cmake -DGeant4_DIR=~/.anaconda3/pkgs/geant4-11.0.3-py311h69de116_0/share/Geant4-11.0.3/ $HOME/B1/
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find ZLIB: Found unsuitable version "1.2.11", but required is at
least "1.2.13" (found
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib/libz.tbd)
Call Stack (most recent call first):
/Applications/CMake.app/Contents/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:598 (_FPHSA_FAILURE_MESSAGE)
/Applications/CMake.app/Contents/share/cmake-3.25/Modules/FindZLIB.cmake:166 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
/Applications/CMake.app/Contents/share/cmake-3.25/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
/Users/ayelland/.anaconda3/envs/geant4_env/lib/Geant4-11.0.3/Geant4Config.cmake:274 (find_dependency)
CMakeLists.txt:13 (find_package)
注意:我运行的是macOS Monterey 12.6.3和zsh内核。
1条答案
按热度按时间uqjltbpv1#
在过去几周对此进行了一些额外的研究之后,我找到了如下修改环境变量cmake的解决方案:
这允许CMake搜索库的替代位置,我在那里有ZLIB的1.2.13版本。假定$CMAKE_PREFIX_PATH在我的conda环境中设置之前是空的,我不期望由此产生任何错误;不过,我会更新,如果我遇到任何。