构建 使用本系列文章(《CMake构建学习笔记-目录》)实现的自动化工具 BuildCppDependency 来进行构建 gmp 和 mpfr。 在 Windows 平台下,想用 MSVC 来构建 gmp 和 mpfr 还是挺困难的,因为 gmp 和 mpfr 是 GNU 项目,只提供 Linux 下的构建方式。 构建 mpfr 的脚本则是: #! /bin/bash # =========================================== # mpfr.sh - 构建 MPFR 库 # 接收参数: # -installdir 编译 === echo " 正在编译 MPFR..." make -j$(nproc) # === 5.
MPFR 软件包包含多精度数学函数。 安装 MPFR 解压软件包: cd /sources tar xf mpfr-4.1.0.tar.xz cd mpfr-4.1.0 编译、检查并安装 MPFR: time { . --disable-static \ --enable-thread-safe \ --docdir=/usr/share/doc/mpfr 4.1.0 && make && make html && make check && make install && make install-html;} 安装完成后清理工作: cd .. rm -rf mpfr
/mpfr/mpfr-impl.h:87:0, from ../.././mpfr/mul.c:24: ../../. /mpfr/mul.c: In function 'mpfr_mul': ../../. /mpfr/mpfr-longlong.h:1016:3: error: impossible constraint in 'asm' __asm__ ("multu %2,%3" : "=l" /mpfr/mpfr-longlong.h:1016:3: error: impossible constraint in 'asm' __asm__ ("multu %2,%3" : "=l" /mpfr/mpfr-longlong.h:1016:3: error: impossible constraint in 'asm' __asm__ ("multu %2,%3" : "=l"
一、在安装gcc前,需要先安装 MPFR 、GMP 和MPC GCC编译需要mpfr和mpc(–>gmp、–>mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp 下载 MPFR (mpfr-4.0.1), MPFR_patch、GMP (gmp-6.1.2) 和MPC(mpc-1.1.0),链接:The GNU MP Bignum Library https:/ /www.mpfr.org/mpfr-current/#download 安装过程是先安装 gmp,然后再安装 mpfr.和mpc,最后安装gcc 4个安装包需全部复制到/usr/locar/下: /gcc-tool/ mpfr-4.0.1.tar.gz/ ./ -r [root@ nandycool-virtual-machine]# tar zxvf mpfr-4.0.1.tar.gz [root /src/acos.c +192 //#: rnd_im == MPFR_RNDD ? MPFR_RNDU //注释掉第192行(# :rnd_im == GMP_RNDA ?
/opt/gcc-5.3.0/configure -prefix=/usr/local/gcc-5.3.0 如果出现如下错误: 说明缺少依赖库GMP、MPFR、MPC,可以从下载链接下载,按下面顺序安装 /configure -prefix=/usr/local/gmp-4.3.2 #编译 #make #安装 #make install ⑵ 安装MPFR2.4.2 #进入下载目录 #cd /opt #下载 #wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 #解压 #tar -xvf mpfr-2.4.2.tar.bz2 #进入解压目录 #cd /opt/mpfr-2.4.2 #创建安装目录 #mkdir /usr/local/mpfr-2.4.2 #配置安装 #. /configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-
查看当前操作系统版本 [root@master ~]# gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17) 2、下载gcc、gmp和mpfr [root@master ~]# wget ftp://gcc.gnu.org/pub/gcc/infrastructure/{gmp-4.3.2.tar.bz2,mpc-0.8.1.tar.gz,mpfr ~]# tar -jxf mpfr-2.4.2.tar.bz2 [root@master ~]# cd mpfr-2.4.2 [root@master mpfr-2.4.2]# . /configure --prefix=/usr/local/mpfr -with-gmp=/usr/local/gmp [root@master mpfr-2.4.2]# make &&make install /configure --prefix=/usr/local/mpc -with-mpfr=/usr/local/mpfr -with-gmp=/usr/local/gmp [root@master
一、在安装gcc前,需要先安装 MPFR 、GMP 和MPC GCC编译需要mpfr和mpc(–>gmp、–>mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp 下载 MPFR (mpfr-4.0.1), MPFR_patch、GMP (gmp-6.1.2) 和MPC(mpc-1.1.0),链接:https://gmplib.org/ https://www.mpfr.org/mpfr-current/#download 安装过程是先安装 gmp,然后再安装 mpfr.和mpc,最后安装gcc 4个安装包需全部复制到/usr/locar /gcc-tool/ mpfr-4.0.1.tar.gz/ ./ -r [root@ nandycool-virtual-machine]# tar zxvf mpfr-4.0.1.tar.gz [root /src/acos.c +192 //#: rnd_im == MPFR_RNDD ? MPFR_RNDU //注释掉第192行(# :rnd_im == GMP_RNDA ?
常见工具安装,包括: 软件 备注 m4 autoconf依赖 autoconf autoconf依赖 automake autoconf依赖 libtools autoconf依赖 gmp gcc安装依赖 mpfr /configure make -j4 && sudo make install mpfr wget https://www.mpfr.org/mpfr-current/mpfr-4.2.0.tar.xz tar xvf mpfr-4.2.0.tar.xz cd mpfr-4.2.0 .
[root@T-bagwell binutils-2.21]# cp -vp include/libiberty.h /usr/local/arm/gcc-4.6.0/include 然后安装mpc,mpfr ,gmp,要不会报错 configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+. Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations. ;cd mpfr-2.4.2 [root@T-bagwell mpfr-2.4.2]# . ]# make;make install [root@T-bagwell mpfr-2.4.2]# cd ..
gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr /configure --prefix=/usr/local/gmp make && make install 2.2 解压编译依赖mpfr-3.1.4.tar.bz2 tar jxvf mpfr-3.1.4 .tar.bz2 cd mpfr-3.1.4 . /configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp make && make install 2.3 解压编译依赖mpc-1.0.3 /configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr make && make
/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 --2021-07-08 03:19:30-- http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 已发出 HTTP 请求,正在等待回应... 301 Moved Permanently 位置:https://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 [跟随至新的 URL] --2021-07-08 03:19:32-- https://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 正在连接 www.mpfr.org|152.81.144.155 [root@centos6 packages]# cd mpfr-2.4.2 [root@centos6 mpfr-2.4.2]# mkdir build [root@centos6 mpfr-2.4.2 /TODO '/usr/local/mpfr-2.4.2/share/doc/mpfr/.' make[2]: Leaving directory `/root/packages/mpfr-2.4.2/
/configure --prefix=/usr/local/gmp make -j4 make install 2、安装 mpfr wget http://www.mpfr.org/mpfr-current /mpfr-3.1.3.tar.bz2 tar xvf mpfr-3.1.3.tar.bz2 cd mpfr-3.1.3 . /configure --with-gmp=/usr/local/ gmp --prefix=/usr/local/mpfr make -j4 make install 4、安装 mpc wget ftp /configure --with-mpfr=/usr/local/mpfr \ --with-gmp=/usr/local/gmp \ --prefix=/usr/local/mpc /configure --prefix=/usr/local/gcc-4.5.1 \ --with-mpc=/usr/local/mpc \ --with-mpfr=/usr/local/mpfr \
2、重新安装MPFR和Boost: 重新安装MPFR: # mpfr下载地址 https://www.mpfr.org/mpfr-current/#download unzip mpfr-4.0.1. zip cd mpfr-4.0.1 make make install 重新安装Boost: # Boost下载地址: https://dl.bintray.com/boostorg/release/
4.6.1/ #下载 gcc-4.6.1.tar.bz2 ftp://ftp.dti.ad.jp/pub/lang/gcc/infrastructure/ #下载 gmp-4.3.2.tar.bz2 mpfr /configure --prefix=/usr/local/gmp-4.3.2 $make $sudo make install Step 2: 安装 mpfr-2.4.2 #cd to src_dir /configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2 $make $sudo make install Step /configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr- =/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1 $make $sudo make install Step 5: 多版本支持 为了让ubuntu
要想成功编译gcc,则在编译之前需要安装好它的至少以下三个依赖: gmp mpfr mpc 而mpc又依赖gmp和mpfr。 1) 安装gmp . /configure --prefix=/usr/local/gmp-6.0.0 make make install 2) 安装mpfr . /configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.0.0 --with-mpfr=/usr/local/mpfr- /configure --prefix=/data/gcc-5.2.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.0.0 /configure --prefix=/data/gcc-4.8.2 --with-mpfr=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.0.0
(){ ReleaseMl="mpfr-4.2.0" ReleaseInstall="mpfr420" ReleaseBin="mpfr" Down="$downUrl/$ReleaseMl.tar.gz /mpfr-current/mpfr-4.2.0.tar.gz http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 http ://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 http://gcc.gnu.org/pub/gcc/infrastructure -f $gccSoDir/$ReleaseInstall.installd ] && soFlag=1 || soFlag=0 ;; "mpfr420") /configure --prefix=$installDir/$ReleaseInstall --with-gmp=$gccSoDir --with-mpfr=$gccSoDir --with-mpc
clean all yum makecache yum list yum repolist 四、进行各个部分的编码安装 注意权限问题 tar xzvf mpc-1.0.1.tar.gz tar xzvf mpfr /mpfr-3.1.1 . /configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp/ make && make install cd .. /configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp/ --with-mpfr=/usr/local/mpfr/ make && make /configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp/ --with-mpfr=/usr/local/mpfr/ --with-mpc
依赖包下载地址: gmp下载地址:https://ftp.gnu.org/gnu/gmp/ mpfr下载地址:https://ftp.gnu.org/gnu/mpfr/ mpc下载地址:https isl下载地址:ftp://gcc.gnu.org/pub/gcc/infrastructure/ 3.编译gcc 本文使用的gcc版本及依赖包如下: gcc-9.10 gmp-6.1.0 mpfr 9.10.tar.gz 进入gcc-9.10目录 cd gcc-9.10 将依赖包copy至gcc-9.10,并解压 tar -zxvf gmp-6.1.0.tar.bz2 tar -zxvf mpfr tar.bz2 tar -zxvf mpc-1.0.3.tar.gz tar -zxvf isl-0.18.tar.bz2 建立软连接 ln -sf gmp-6.1.0 gmp ln -sf mpfr -3.1.4 mpfr ln -sf mpc-1.0.3 mpc ln -sf isl-0.18 isl 编译gcc(编译时间大概半小时到一小时) # 创建build目录 mkdir build
1.2.2 安装MPFR MPFR下载网址:https://gcc.gnu.org/pub/gcc/infrastructure/ 本次,我们选择MPFR版本为4.1.0 # 下载源码 [weihu@localhost -4.1.0.tar.bz2 # 解压mpfr-4.1.0.tar.bz2 [weihu@localhost soft]$ tar -xvf mpfr-4.1.0.tar.bz2 # 进入解压后的文件 [weihu@localhost soft]$ cd mpfr-4.1.0/ # 新建构建文件夹并进入 weihu@localhost mpfr-4.1.0]$ mkdir build weihu@ ]$ make -j$(nproc) # 安装 [weihu@localhost build]$ sudo make install 这样就把mpfr-4.1.0安装在/usr/local/mpfr-4.1.0 /configure --prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-6.2.1 --with-mpfr=/usr/local/mpfr-
下载GCC 4.6 及其依赖源码包: gcc-4.6.0.tar.gz gmp-5.0.2.tar.bz2 mpfr-3.0.1.tar.bz2 mpc- cd mpfr-3.0.1 . /configure --prefix=/usr/local/mpfr-3.0.1 --with-gmp=/usr/local/gmp-5.0.2 make make install /configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.2 --with-mpfr=/usr/local/mpfr-3.0.1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-5.0.2/lib:/usr/local/mpfr-3.0.1/lib:/usr/local