Отсутствуют общие библиотеки при использовании chroot

Я пытаюсь использовать schroot для запуска 32-битного приложения на 64-битной установке Ubuntu (на самом деле Lubuntu) Raring. Мне удалось создать chroot, заполненный следующей командой:

sudo debootstrap --arch=i386 raring /srv/chroot/raring_i386 http://archive.ubuntu.com/ubuntu

Однако, когда я вхожу в среду chroot и пытаюсь запустить приложение, я получаю ошибки об отсутствии общего библиотеки. Например:

error while loading shared libraries: libICE.so.s: cannot open shared object file: No such file or directory

Пока что все отсутствующие библиотеки в моей среде chroot расположены в usr/lib/i386-linux-gnu/. Я могу скопировать эти недостающие библиотеки из другой полной установки 32-битной Ubuntu, но я бы подумал, что вышеприведенный шаг debootstrap должен был загрузить их напрямую. Может ли кто-нибудь дать дополнительное понимание того, как использование debootstrap должно создать среду chroot? Возможно, я пропустил шаг или есть другая опция в вызове debootstrap, чтобы сказать ему, чтобы получить некоторые дополнительные общие библиотеки?

Большое спасибо!

0
задан 10 July 2013 в 19:08

1 ответ

После небольшого количества проб / ошибок и удачного поиска в Интернете, я думаю, что я нашел решение, которое искал. Вот краткое описание шагов, которые я использовал для решения этой проблемы:

  1. В среде chroot выполните следующую команду, чтобы выявить отсутствующие библиотеки:

    ldd <binary executable>
    

    Это покажет отсутствующие библиотеки как «не найденные». В качестве альтернативы эта команда может быть передана в grep как:

    ldd <binary executable> | grep "not found"
    
  2. Используйте следующую команду, чтобы найти пакеты, которые будут предоставлять отсутствующие библиотеки:

    apt-cache search <library name>
    
  3. Установите пакет из предыдущего шага из среды chroot (можно найти несколько):

    sudo apt-get install <package name>
    

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

Ссылка, которую я нашел, которая дала мне ключ к поиску и установке отсутствующих библиотек, - это здесь .

0
ответ дан 10 July 2013 в 19:08

Другие вопросы по тегам:

Похожие вопросы: