- 编译所需依赖
binutils ,gmp,mpc, gcc ,isl , make, mpfr ,在下面的网址下载,并编译:
https://ftp.gnu.org/gnu/
编译时 设置路径 为对应的软件包名称,后续要用到这个名字 如binutils:
./configure --prefix=/opt/binutils
make &&sudo make install
- 设置临时变量
export PATH=/opt/gmp/bin:/opt/mpfr/bin:/opt/mpc/bin:/opt/isl/bin:/opt/binutils/bin:/opt/gcc/bin:$PATH
export LD_LIBRARY_PATH=/opt/gmp/lib:/opt/mpfr/lib:/opt/mpc/lib:/opt/isl/lib:/opt/mpc/lib:/opt/binutils/lib
- 下载glibc代码并编译
wget https://ftp.gnu.org/gnu/glibc/glibc-2.41.tar.gz
tar -zxf glibc-2.41.tar.gz
cd glibc-2.41 && mkdir build && cd build
CC=/opt/gcc12/bin/gcc MAKE=/opt/make44/bin/make ../configure --prefix="$HOME/opt/glibc/2.41" --with-binutils=/opt/binutils
make && make install
- vscode 使用(patchelf在
https://github.com/NixOS/patchelf)
export VSCODE_SERVER_CUSTOM_GLIBC_LINKER=$HOME/opt/glibc/2.41/lib/ld-linux-x86-64.so.2
export VSCODE_SERVER_CUSTOM_GLIBC_PATH=$HOME/opt/glibc/2.41/lib:/usr/lib64
export VSCODE_SERVER_PATCHELF_PATH=/usr/local/bin/patchelf