深色模式
编译安装软件
摘要:仓库里没有想要的版本?本文以 GNU hello 为例,走通 ./configure && make && make install 全流程,并装到自定义目录。前提:装好编译器与依赖。
适用环境
bash
# 安装编译工具链
# Debian/Ubuntu: apt install -y build-essential
# CentOS/RHEL: yum install -y gcc make
gcc --version && make --version1
2
3
4
2
3
4
一、获取源码并配置
bash
cd /tmp && curl -O https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz
tar xzf hello-2.12.1.tar.gz && cd hello-2.12.1
./configure --prefix=/opt/hello # 检测环境,指定安装目录
# 若报错缺依赖,按提示安装开发包(-dev/-devel)后重跑1
2
3
4
2
3
4
二、编译与安装
bash
make -j"$(nproc)" # 并行编译,用全部核心
make install # 安装到 /opt/hello
/opt/hello/bin/hello # 直接路径验证1
2
3
2
3
三、加入 PATH(见环境变量篇)
bash
echo 'export PATH="/opt/hello/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
hello --version # 现在可直接调用1
2
3
2
3
验证
- [ ]
./configure成功生成 Makefile - [ ]
make无错误,make install产出二进制 - [ ]
hello --version通过 PATH 可调用
常见坑
- 缺头文件:configure 报 "not found",装对应
-dev/-devel包再试。 - 装到系统目录难卸载:用
--prefix=/opt/xxx集中管理,卸载直接删目录。 - make 并行数过高:
-j过大在内存小机器上可能 OOM,适当调小。 - 漏装依赖运行库:编译通过但运行报 "library not found",需装运行时库。