gpt4 book ai didi

installation - 在具有 conda 环境的 OSX 上安装 Galsim : fftw/tmv file failed to link correctly

转载 作者:行者123 更新时间:2023-12-02 10:00:08 25 4
gpt4 key购买 nike

我已经用 conda 安装了 fftw 和 boost;

conda install -c https://conda.anaconda.org/anaconda提升

conda install -c https://conda.anaconda.org/nlesc嗯嗯

带有 scons 的 tmv

tmv0.72){58}> scons install PREFIX=/home/rgm/local

具有先前指定的各种变量的 scons 如下所示:

scons 
scons: Reading SConscript files ...
SCons is version 2.3.5 using python version 2.7.10
Python is from /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
Using the following (non-default) scons options:
PREFIX = /home/rgm/local/
TMV_DIR = /Users/rgm/local
FFTW_DIR = /Users/rgm/anaconda/
BOOST_DIR = /Users/rgm/anaconda/
These can be edited directly in the file gs_scons.conf.
Type scons -h for a full list of available options.
Using python = /home/rgm/anaconda/bin/python
Using default PYPREFIX = /home/rgm/anaconda/lib/python2.7/site-packages
Using compiler: /home/rgm/anaconda/bin/g++
compiler version: 4.8.5
Determined that a good number of jobs = 4
Checking for C++ header file fftw3.h... yes
Checking for correct FFTW linkage... yes
Checking for boost header files... yes
Boost version is 1.57.0
Checking for C++ header file TMV.h... yes
TMV version is 0.72
Using TMV_LINK file: /Users/rgm/local/share/tmv/tmv-link
-L/home/rgm/local/lib -ltmv -lblas -lpthread -fopenmp
Mac version is 10.10.5
XCode version is 7.2
Checking for correct TMV linkage... (this may take a little while)
Checking for correct TMV linkage...
Error: TMV file failed to link correctly
Check that the correct location is specified for TMV_DIR

查看 config.log 有如下行:

Undefined symbols for architecture x86_64:
"_fftw_destroy_plan", referenced from:
_main in conftest_2.o

最佳答案

这里最直接的问题是它在运行时找不到 OpenMP 库 (libgomp.1.dylib)。以下是 config.log 中的相关行:

g++ -o .sconf_temp/conftest_16 -fopenmp .sconf_temp/conftest_16.o -Llib -L/Users/rgm/anaconda/lib -L/Users/rgm/local/lib -L/home/rgm/local/lib -ltmv_symband -lfftw3 -lpthread -ltmv -lblas -lpthread
.sconf_temp/conftest_16 > .sconf_temp/conftest_16.out
dyld: Library not loaded: @rpath/./libgomp.1.dylib
Referenced from: /data/vault/rgm/soft/MACOS/GalSim/.sconf_temp/conftest_16
Reason: image not found
sh: line 1: 20592 Trace/BPT trap: 5 .sconf_temp/conftest_16 > ".sconf_temp/conftest_16.out"

我之前在 Mac 上使用 Anaconda 时也遇到过类似的问题。他们似乎试图强制 Mac 使用 Unix 风格的运行时库解析,而不是遵循 Mac 的正常方式,这是根本不同的。特别是,@rpath 这个东西在 Linux/Unix 系统上工作得非常好,但在 Mac 上就不那么好了。我猜想通过他们自己的 conda 安装的库,他们有办法让一切正常工作,但它与以正常 Mac 方式安装的外部库不能很好地配合。

无论如何,由于它只是 TMV 中的 OpenMP 内容,而且 GalSim 中的矩阵运算从来都不是时间关键型,因此最简单的选择可能是使用 scons install WITH_OPENMP=false 安装没有 OpenMP 支持的 TMV。

然后尝试再次安装 GalSim。

关于installation - 在具有 conda 环境的 OSX 上安装 Galsim : fftw/tmv file failed to link correctly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34968336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com