安装过程遇到的坑
camb
的最新版已经支持Intel Fortran
编译器进行编译。然而编译python
版本camb
的过程中会遇到不少问题。
1、编译选项冲突 查看Makefile
发现,MacOS
平台下camb
共享库camblib.so
的编译选项中SFFLAGS
保持默认会出现编译错误。
1 | # -fminshared 与 -fpic 选项冲突 |
2、动态库加载错误 修改Makefile
之后,编译没有问题,但是在Python
中import
时会出现库未加载的错误。
1 | OSError: |
解决办法: 将libiomp5.dylib
所在的目录加入@rpath
中。
1 | install_name_tool -add_rpath /Users/xuwutao/Program/intel/2018/compilers_and_libraries_2018.1.126/mac/compiler/lib /Users/xuwutao/.pyenv/versions/3.7.1/envs/science/lib/python3.7/site-packages/camb/camblib.so |
疑问
原以为设置好DYLD_LIBRARY_PATH
就没有问题,没想到还需要设置@rpath
。估计和Mac
下动态库的加载机制有关,详细情况以后有时间再研究吧。