ошибка при загрузке разделяемых библиотек: libm.so.6: невозможно определить общий объект: ошибка 38

0

Я - нуб Linux, пытающийся скомпилировать 32-битную программу и запустить ее на 64-битной Ubuntu. Он хорошо компилируется, но когда я запускаю его, я получаю эту ошибку: ошибка при загрузке разделяемых библиотек: libm.so.6: невозможно определить общий объект: ошибка 38

Я искал libm.so.6 и нашел его в / lib32 и / libx32. Любая помощь приветствуется.

Брайан Филлипс
источник
Как вы скомпилировали программу? что является результатом ldd prog(где progзаменяется именем скомпилированной исполняемой программы)?
Стальная машина
ldd cr2hdr дает «не динамический исполняемый файл»
Брайан Филлипс
Я попытался скомпилировать простую программу "Hello, world". Я использовал это для компиляции: gcc -m32 hello.c; Когда я запускаю ldd a.out, я получаю такой результат: «не динамический исполняемый файл». Если я уберу опцию "-m32", она будет работать. Я пытаюсь скомпилировать гораздо более сложную программу в 32-битный двоичный файл и свел проблему к самому простому примеру. Программа требует 32-разрядного двоичного файла.
Брайан Филлипс
На самом деле нужен двоичный файл hello.c - libc.so.6, но это в основном та же проблема.
Брайан Филлипс
gcc-multilibУстановлен ли пакет (и его зависимости)?
стальная отвертка

Ответы:

0

Я нашел причину, но не нашел решения. Причина в том, что среда, которую я использую, не имеет 32-битной поддержки в ядре. Среда является UserL и работает на Android. Разработчики подтвердили, что 32-битная поддержка отсутствует.

Спасибо всем за помощь.

Брайан Филлипс
источник