Кросс-компиляция на Fedora 18 для Centos 6.4

Я работаю над проектом, который использует классы из стандарта C ++ 11, на машине с Fedora 18 и хочу развернуть его на сервере Centos 6.4.

Мне удалось устранить все ошибки загрузчика, за исключением версий libc и libc ++, которые являются GLIBC_2.11, GLIBCXX_3.4.15 и на моей машине Fedora GLIBC_2.14 и по крайней мере GLIBCXX_3.4.17 соответственно.

Можно ли сказать компилятору компилировать / ссылаться на версии сервера или более старые совместимые версии библиотек?

Когда я бегу исполняемый файл я получил

./executable: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./executable)
./executable: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./executable)

Заранее спасибо!

1

Решение

Вместо того, чтобы вручную копировать библиотеки в отдельный каталог, вы могли бы установить chroot, связывающий окружение сборки CentOS, используя издеваться и epel-6-x86_64 конфигурации.

использование yum в фиктивном chroot для установки нужных пакетов (например, Qt) и сборки в них, что обеспечит использование в коде только библиотек CentOS 6, установленных в chroot, а не остальных пакетов в вашей операционной системе Fedora.

Обновить:

Когда я использую фиктивный 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

Привязка означает, что мне не нужны источники GCC в chroot, я могу использовать существующую копию в моей обычной файловой системе. Увидеть http://gcc.gnu.org/wiki/InstallingGCC для получения информации о строительстве GCC

Установив GCC в chroot, вы можете использовать его для создания собственных программ, а затем упаковать их в CentOS.

Чтобы вернуться в chroot позже:

mock -r fedora-19-x86_64 --shell
su - mockbuild
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector