您可以使用mock和epel-6-x86_64
config设置一个包含 CentOS 构建环境的 chroot,而不是手动将库复制到单独的目录。
在模拟 chroot 中使用yum
以安装您想要的软件包(例如 Qt)并在其中构建,这将确保代码仅使用安装在 chroot 中的 CentOS 6 库,而不是 Fedora OS 上的其余软件包。
更新:
当我使用模拟 chroot 构建 GCC 时,我会这样做:
# only need these steps once to setup the chroot
mock -r fedora-19-x86_64 --init
mock -r fedora-19-x86_64 --install yum
mock -r fedora-19-x86_64 --shell 'mkdir -p /builddir/gcc/src /builddir/gcc/build'
su -c 'mount --bind $PATH_TO_GCC_SOURCES /var/lib/mock/fedora-19-x86_64/root/builddir/gcc/src'
# enter root password
mock -r fedora-19-x86_64 --shell
# now in chroot
yum install gmp-devel mpfr-devel libmpc-devel flex autogen
su - mockbuild
cd gcc/build
../src/configure --prefix=/builddir/gcc/install ... etc. ...
为了您的目的,您将替换fedora-19
为epel-6
绑定挂载意味着我不需要 chroot 中的 GCC 源代码,我可以使用普通文件系统中的现有副本。有关构建 GCC 的信息,请参阅http://gcc.gnu.org/wiki/InstallingGCC
在 chroot 中安装 GCC 后,您可以使用它来构建您自己的程序,然后将它们打包用于 CentOS。
稍后再回到 chroot:
mock -r fedora-19-x86_64 --shell
su - mockbuild