改用 git/chroot 來編譯
(2019/09/27 更新)
取得 glibc PKGBUILD
- git clone git://git.archlinux.org/svntogit/packages.git
- cd packages/glib/trunk
- 編輯 PKGBUILD,把 options 修改成 (!strip debug staticlibs) 後存檔
在 clean chroot 編譯
- mkdir ~/chroot
- export CHROOT=$HOME/chroot
- mkarchroot $CHROOT/root base-devel
- arch-nspawn $CHROOT/root pacman -Syu
- makechrootpkg -c -r $CHROOT
- pacman -U <.pkg.tar.xz>
採用 ABS (Arch Build System) 方式去編譯
- 安裝 abs 套件 (pacman -S abs)
- 用 root 運行 abs (sudo abs)
- 把 glibc 從 /var/abs/core/glibc 複製一份到要編譯的地方 (sudo cp /var/abs/core/glibc /tmp/glibc)
- 到剛剛複製完的地方,編輯 PKGBIULD (nano /tmp/glibc/PKGBUILD)
- 把 options 修改成 (‘!strip’ ‘debug’ ‘staticlibs’) 後存檔
- makepkg
- pacman -U <.pkg.tar.xz>
利用 file 察看 /usr/lib/libc-2.24.so
1 2 |
➜ file /usr/lib/libc–2.24.so /usr/lib/libc–2.24.so: ELF 64–bit LSB shared object, x86–64, version 1 (GNU/Linux), dynamically linked, interpreter /usr/lib/ld–linux–x86–64.so.2, BuildID[sha1]=6a5885d005a0e25074da79038453af3c1bbd16a1, for GNU/Linux 2.6.32, not stripped |
Leave a Reply