|
gcc -V显示8.3.0而cmake仍然使用4.8.5的原因是cmake认的是cc而不是gcc。自行安装gcc并修改环境变量只能改变gcc的路径,不能改变cc。 所以解决办法就是如8楼所说。实际上,只要环境变量正确,不写完整路径,只写 CC=gcc FC=gfortran CXX=g++ 也是可以的。(用6楼的写法也可以)(看起来是叠床架屋行为,但是cmake就是这样的……) |
| 参与人数Participants 1 | eV +1 | 收起 理由Reason |
|---|---|---|
|
| + 1 | 谢谢分享,学到了 |
Penson 发表于 2022-2-12 10:32 如果只是gcc报错的这个语言问题,我记得只要export LANG=en_US.UTF-8即可解决。系统显示语言也是可以改的。 |
| 参与人数Participants 1 | eV +1 | 收起 理由Reason |
|---|---|---|
|
| + 1 | 谢谢分享 |
Penson 发表于 2022-2-12 11:20 CC=某个gcc路径 FC=某个gfortran路径 CXX=某个g++路径 cmake .. xxxxxxxx一般是这个用法,或者先export前面三个环境变量,再跑cmake。 |
| 参与人数Participants 1 | eV +1 | 收起 理由Reason |
|---|---|---|
|
| + 1 | 谢谢 |
sobereva 发表于 2022-2-12 03:14 系统版本是centos7的,帖子已经加上。gcc和cmake都是自己手动安装的 |
Daniel_Arndt 发表于 2022-2-12 02:10 今早确实发现,默认给我调用的是4.8.5版本的,问了思想家公社群,有老师说需要指定cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc。 尝试后确实,调用的版本更新了,这一步就过去了 ![]() |
Daniel_Arndt 发表于 2022-2-12 02:15 服务器买的时候商家帮装的,也不清楚是中文的,如果语言可以设置回英文的就好了 ![]() |
| 说明当前是什么系统具体什么版本,装完后对cmake和gcc是否动了什么手脚 |
| 友情提醒一下,安装Linux发行版时把语言设置成中文的话,对搞计算的人而言,容易在后面吃亏,尤其是当你发现英文版只需要把报错输出中的一部分谷歌一下就可以得到不少有价值的信息时。 |
| 参与人数Participants 3 | eV +5 | 收起 理由Reason |
|---|---|---|
|
| + 1 | 感谢提醒 |
|
| + 3 | |
|
| + 1 | +1。非常反感装成中文的 |
|
讲一个我以前遇到的事情,CentOS 7中“strings /lib64/libstdc++.so.6 | grep CXXABI”是没有“CXXABI_1.3.9”的。CentOS 7默认的gcc版本是4.8.5,而“CXXABI_1.3.9”是从5.1开始的。我一开始以为安装了devtoolset-7-gcc、devtoolset-7-gcc-c++(对应的是gcc 7.2.1)后,就会有“CXXABI_1.3.9”。结果还是没有。我猜测可能是CentOS开发者对兼容性的考虑导致了这一现象。 如果你是用的CentOS 8的话,我个人建议先试试看不同的devtoolset,不大耗时间,只要记得编译之前“scl enable devtoolset-N bash”(里面的“N”要替换成相应的数字)。不奏效的话,就得手动编译gcc了。可以参考 https://mp.weixin.qq.com/s?__biz ... 44b078a735fabbfdeb8 。流程就是先编译gmp、mpfr、mpc(要是个人在意循环优化的话,还要编译isl),然后编译gcc。难点在于针对你要的gcc版本,找到合适的gmp、mpfr、mpc版本,这也是最耗时的部分。 |
| 参与人数Participants 1 | eV +2 | 收起 理由Reason |
|---|---|---|
|
| + 2 | 谢谢 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-2-23 06:02 , Processed in 0.169546 second(s), 26 queries , Gzip On.