静态编译coreutils教程

coreutils是gnu提供的linux下开源的基础命令包
每个linux操作系统都会使用coreutils
coreutils是一个集合,我由于个人需要,记录一下编译过程

1.安装编译依赖

yum -y install gcc gcc-c++ automake autoconf libtool make glibc-static libstdc++-static

缺什么补什么

2.完全编译coreutils

直接运行下面命令,编译完成后所有程序都在 coreutils-8.32/src/ 目录
wget https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.gz
tar zxvf coreutils-8.32.tar.gz
cd coreutils-8.32
export FORCE_UNSAFE_CONFIGURE=1
./configure
sed -i "s/^LDFLAGS =/LDFLAGS = -static/g" ./Makefile
make

3.手动编译coreutils中指定的程序(备用)

由于我只需要编译一个程序节省时间,可以在make中途取消
make
 GEN    lib/alloca.h
  GEN    lib/c++defs.h
  ...
  GEN    src/version.c
  GEN    src/version.h
make  all-recursive     # 运行到这时,ctrl + c 取消全部编译
make src/nice#执行指定编译nice
src/nice --version#验证程序
静态编译文件特别大,1MB起步,仅供研究

此处评论已关闭