--> -->

Ubuntu18.04离线安装gcc及其依赖,make工具

相当折磨的一次经历,gcc及其相关依赖离线安装

这台服务器,没有gcc,也没有make。

安装gcc需要make编译,而安装make会提示需要C依赖库。我陷入了沉思。

网上的离线安装教程很多杂而乱,走了大量的弯路试错。

下面我提供一个最简洁的方式去破局:

1.下载gcc7.5整合依赖包

依赖实在是太多太繁琐了,我直接整理一波好吧

总共有18个需要安装,如下:

百度云地址:

链接:https://pan.baidu.com/s/1sHYZMW2-B3A84yD0erFpAA?pwd=lh3f 
提取码:lh3f 

安装顺序有时候会失败,需要其他的依赖先安装,总之最后都安装完就行。

安装命令:后面加文件名,如:

sudo dpkg -i libatomic1_8.4.0-1ubuntu1~18.04_amd64.deb

依次安装完18个,就可以使用gcc了。

2.安装make

下载网址

make百度云地址:

链接:https://pan.baidu.com/s/1789DFVFsN1WR52u2xVly2g?pwd=uhk3 
提取码:uhk3 

安装命令

sudo dpkg -i make_4.1-9.1ubuntu1_amd64.deb

安装成功~

3.安装make工具另一种方法(不推荐)

很多教程的方法, 可以使用make,但会有环境变量问题。

离线安装如下:

1.下载make-3.81.tar.bz2

官网:

http://ftp.gnu.org/gnu/make/

百度云地址:

链接:https://pan.baidu.com/s/1uiYYm9J31d6kvlbwuX0J-w?pwd=4ruc 
提取码:4ruc 

2.解压

tar -xvf make-3.81.tar.bz2

3.编译

./configure

然后

sudo sh build.sh

注意!!!!此时会报一堆乱七八糟的错误,解决方案是

打开文件glob/glob.c,注释掉210行左右的两行代码,具体如下:

//#if !defined __alloca && !defined __GNU_LIBRARY__      注释这一行

# ifdef	__GNUC__
#  undef alloca
#  define alloca(n)	__builtin_alloca (n)
# else	/* Not GCC.  */
#  ifdef HAVE_ALLOCA_H
#   include <alloca.h>
#  else	/* Not HAVE_ALLOCA_H.  */
#   ifndef _AIX
#    ifdef WINDOWS32
#     include <malloc.h>
#    else
extern char *alloca ();
#    endif /* WINDOWS32 */
#   endif /* Not _AIX.  */
#  endif /* sparc or HAVE_ALLOCA_H.  */
# endif	/* GCC.  */

# define __alloca	alloca

//#endif    注视这一行

然后再make clean清理之前的失败,之后再make

make clean
make

4.make install

make install

5.配置(有待商榷)

export PATH=/你的make路径/make-3.81:$PATH
source /etc/profile

6.验证

make -v

无法安装驱动,怀疑是make 路径问题,把make 那个文件转移到/usr/bin 目录下

4.GCC的另一种安装方式(编译,不推荐)

为啥不推荐这个呢,因为我失败了,在编译那步,我也不知道为啥失败了

原博客很多人成功了,所以我放在这里仅供参考。

反正自己编译就会有一堆问题,难顶。。。。。

1.在其他有网的服务器下载安装包

wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.1.0.tar.xz
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz

百度云链接:

链接:https://pan.baidu.com/s/175kWX9oOpzTZivalqMRP-w?pwd=zhdo 
提取码:zhdo 

2.将所有压缩包移动至/usr/local目录下

/usr/local

3.解压所有压缩包

tar -xvf gcc-9.3.0.tar.gz

然后进入解压的gcc文件夹中

cd gcc-9.3.0

并将剩余三个压缩包移动到此文件夹中,解压在gcc文件夹中,并依次改名

tar -xvf gmp-6.1.0.tar.xz
mv gmp-6.1.0 gmp
tar -xvf mpfr-3.1.4.tar.gz
mv mpfr-3.1.4 mpfr
tar -xvf mpc-1.0.3.tar.gz
mv mpc-1.0.3 mpc

4.编译安装

注意,建夹实在gcc-9.3.0文件夹内建的

mkdir gcc-build
cd gcc-build
../configure --prefix=/usr/local/gcc-9.3.0 --disable-multilib --enable-languages=c,c++

5.编译

make -j 4
make install -j 4

(或者直接make,make install)

6.更新链接配置

 ln -s /usr/local/gcc-9.3.0 /usr/local/gcc
 export PATH=/usr/local/gcc/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc/lib64
export MANPATH=/usr/local/gcc/share/man:$MANPATH

7.验证

gcc -v
posted @ 2023-07-26 17:13  柠鸢  阅读(6563)  评论(0编辑  收藏  举报