LINUX.ORG.RU

Не получается кросс-компиляция под MIPS

 , ,


0

2

Компилирую программу для роутера на базе OpenWRT. Архитектура там MIPS. Сначала всё тестировал и дебажил на своём ноуте. Когда программа была готова, поставил тулчейн mips-linux-gnu-gcc, mips-linux-gnu-binutils и всё скомпилировалалось. Когда залил файл на роутер он мне пишет:

# ./programm
sh: ./programm: not found

Что значит «не найдена»? Файл в этой же папке лежит, права на исполнение у него есть. Архитектура соответствует.



Последнее исправление: victor_crimea (всего исправлений: 5)

Не найден «интерпретатор» для этой программы. Что говорят

file programm
ldd programm
и
file /bin/какой-нибудь-бинарник-не-симлинк
?

alt-x ★★★★★
()

Вероятно, тебе придётся самому собрать тулчейн для своего роутера. Какой чип?

CYB3R ★★★★★
()
1 февраля 2016 г.

Если у тебя на целевой системе uclibc, а ты собираешь с glibc (см. «gnu»), то ошибка file not found относится к загрузчику ELF (ld.so и т.п.), который при сборке вписывается в заголовок interp.

Посмотри вывод readelf -l programm | grep interpreter, сравни с целевой системой

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.