GCC 源码编译 mpc mprf gmp 不用make(否则会有lib/libgmp.so: could not read symbols: File in wrong format等错误)

时间:2022-04-28 03:04:45

错误信息:

lib/libgmp.so: could not read symbols: File in wrong format
collect2: error: ld returned 1 exit status

该错误直接原因是对三个库进行了make安装。

  • 解压gcc 压缩包后,在contrib文件夹中有一个download_prerequisites文件,vim打开之,可以看到当前版本gcc依赖的三个库mpfr、mpc、gmp及其下载地址,以及链接三个库到gcc目录下的操作。
  • 可按其说明运行之自动下载安装,也可自己从网上下载三个库。
  • 若选择自行下载三个库则又有两种处理方法:

    1、在configure时加--with-gmp=/gmppath --with-mpc=/mpcpath --with-mpfr=/mpfrpath    或者2、将三个库压缩包的解压目录链接至gcc目录。在gcc目录下,用命令ln -sf /gmppath gmp; ln -sf /mpfrpath mpfr; ln -sf /mpcpath mpc;

  • 一般的错误基本都是由于将mpfr、mpc、gmp三个压缩包解压后进行configure、make…等造成的,解压链接即可,无需make。

若有用请评论说明一下,谢谢^^