centos6.5 老旧系统编译glib-2.58.3.tar.bz2
glib编译依赖python3 meson ninja libffi libmount
python3我用的 python3.13.tar.gz,安装meson用python3 编译产生的pip3,
由于python3编译没有安装openssl,导致pip3 无法下载
openssl至少1.1.1版本,我用openssl-1.1.1w.tar.gz
配置python编译
configure --prefix=xxx --with-ensurepip --with-openssl=/soft/openssl-1.1.1w --with-openssl-rpath=/soft/openssl-1.1.1w/lib
有了python3 和pip3 直接
pip3 install meson
pip3 install ninja
libmount在centos6.5仓库里面没有,centos7里面有,只能从源码编译
util-linux-2.20.1.tar.bz2 util-linux-2.23.2.tar.xz libmount版本低了,编译glib符号
util-linux-2.38.1 版本高了,centos6.5版内核太低,open调用找不到O_PATH
util-linux-2.27.tar.xz 最终ok,只要libmount,libmount依赖libblkid
/soft/src/util-linux-2.27/configure --prefix=/soft/util-linux-2.27 --enable-libblkid --enable-libmount --without-ncurses --disable-fsck --disable-partx --disable-uuidd --disable-nls --disable-agetty --disable-cramfs --disable-switch_root --disable-pivot_root --disable-fallocate --disable-unshare --disable-rename --disable-schedutils --disable-wall --disable-chsh-only-listed --disable-pg-bell --disable-require-password
最后用meson构建glib,meson会自动从git下载libffi,自动下载失败,手动clone到构建目录
meson setup . /soft/src/glib-2.58.3/ --prefix=/soft/glib-2.58.3 --pkg-config-path=/soft/util-linux-2.27/lib/pkgconfig/