Fortran Coder

查看: 7955|回复: 1
打印 上一主题 下一主题

[编译器] 在macOS 10.12.3 安装了ifort17.0运行camb出错

[复制链接]

12

帖子

5

主题

0

精华

入门

F 币
84 元
贡献
47 点
跳转到指定楼层
楼主
发表于 2017-2-6 22:59:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我之前安装了gfortran然后在camb下make成功了,后来就卸了安装了最新的ifort,在camb下make之后出错如下:
[Fortran] 纯文本查看 复制代码
make
mkdir -p Release
ifort -fast -W0 -WB -fpp  -qopenmp -module Release -IRelease/ Release/constants.o  Release/utils.o   Release/subroutines.o Release/inifile.o  Release/power_tilt.o  Release/recfast.o Release/reionization.o Release/modules.o Release/bessels.o Release/equations.o Release/halofit_ppf.o Release/lensing.o Release/SeparableBispectrum.o Release/cmbmain.o Release/camb.o inidriver.F90 -cxxlib -o camb
mkdir -p Releaselib
ifort -shared -fpic -fast -W0 -WB -fpp  -qopenmp -module Releaselib -IReleaselib/ -c constants.f90 -o Releaselib/constants.o
ifort: command line error: '-fminshared' conflicts with '-fpic'
make: *** [Releaselib/constants.o] Error 1


求助各位大神,小白已经撸了这个问题好几天了
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2017-2-7 10:38:20 | 只看该作者
这可能是你前面的某些 o 文件使用了 -fminshared 编译选项:
fminshared
Specifies that a compilation unit is a component of a main program and should not be linked as part of a shareable object.

导致您不能在链接的时候使用 -fPIC (地址无关)选项。
因为这俩选项是矛盾的。
你可以试试:
1. 先 make clean 然后重新 make
2. 如果前面的编译过程用到了 -fminshared 选项,则去掉该选项。
3. 如果是别人编译的目标代码,用到了 -fminshared 而你无法修改。那么可以尝试去掉 -fPIC
4. 如果你去掉了 -fPIC,也许在某些CPU上,或内存里有多份 .so 时,会有一些问题。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-19 20:03

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表