Linux 软件安装

在 Linux 中,除了通过源在线安装软件包外,下载源码包并手动编译安装也是常见的方法。

Configure 脚本简介

开源源码包通常包含一个 configure 脚本,它会根据系统环境自动配置编译参数并生成 Makefile。以下是对 configure 脚本的参数介绍。

Configure 参数详解

configure 脚本支持许多参数,其中一些是必须的,一些是可选的。

重要参数

build
--build 表示当前使用的构建机器

host
--host 表示程序运行的平台。

target
--target 用于指定程序将处理的平台,通常在编译交叉工具链时使用。

例如:

1
. /configure --build=i386-linux,--host=arm-linux

表示使用 i386 架构的 Linux 系统构建,目标运行平台为 ARM 架构的 Linux 系统。

常见参数

  • --help运行以下命令可查看所有可用配置选项

    1
    ./configure --help
  • --prefix=DIR指定文件安装目录,建议使用绝对路径

  • --sysconfdir=DIR指定配置文件的安装路径。

  • --with-PACKAGE[=ARG]指定已有软件包或库的信息。

  • --without-PACKAGE禁用特定的软件包交互。例如:

    1
    --without-gnu-ld
  • --enable-FEATURE启用默认禁用的特性,例如:

    1
    --enable-languages=c,c++
  • --disable-FEATURE关闭默认启用的特性。

配置示例

以安装gcc为例,获取源码后,创建build-gcc目录,注意configure路径

配置参数
在build-gcc目录下执行以下命令:

1
2
3
4
5
6
7
../gcc-<version>/configure \
--prefix=/usr/local/gcc-<version> \
--enable-languages=c,c++ \
--disable-multilib \
--with-gmp=/path/to/gmp \
--with-mpfr=/path/to/mpfr \
--with-mpc=/path/to/mpc

参数说明:

  • --prefix=/usr/local/gcc-<version> 指定 GCC 的安装路径。

  • --enable-languages=c,c++ 启用 C 和 C++ 语言支持。

  • --disable-multilib 禁用多库支持(针对 64 位系统)。

  • --with-gmp、--with-mpfr、--with-mpc 分别指定依赖库 GMP、MPFR、MPC 的路径。

编译和安装

1
2
make -j$(nproc)
sudo make install

可能出现的问题

  • 依赖错误
    1
    2
    configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
    Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
    解决办法:
    1、确保已安装GMP、MPFR、MPC库。
    2、使用以下选项指定库路径:
    1
    2
    ./configure --with-gmp=/path/to/gmp --with-mpfr=/path/to/mpfr --with-mpc=/path/to/mpc