安装过程遇到的坑
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下动态库的加载机制有关,详细情况以后有时间再研究吧。


