Я буду проделывать все шаги от начала - почти полного незнания того, как делается кросс-копиляция, до, надеюсь, рабочего midnight commander.
Полного и исчерпывающего how to я нигде не нашел. Попытаюсь устранить пробел.
Хочу поблагодарить разработчиков и мейнтейнеров проекта midnight commander с которыми мне довелось пообщаться, а именно andrew_b, il.smind, repolainen, slavazanko за доброе отношение и желание помочь.
Собственно весь процесс сборки изображен на диаграмме слева.
Почти для всех программ этот процесс одинаков.
Когда мы собираем программу или библиотеку мы последовательно выполняем три шага
$ ./configure [param-1]...[param-n]
$ make
$ make install
Выполнение по шагам этой инструкции предполагает отсутствие ошибок. Составляя эту инструкцию, я все проделывал самолично и, думаю, значительно минимизировал их количество. Но, все таки, в вашей сборке могут выявиться ошибки, которые не возникли в моей конфигурации. Причин, почему это происходит, достаточно.
- Во первых сам проект midnight commander далеко не тривиальный;
- Все проекты созданы разными людьми, которые иногда и не осознавали как их творение будет использоваться;
- Зачастую, разработчики не парятся тестированием своих проектов на совместимость с кросскомпиляцией;
- Китайцы, которые реализовали устройство на китайской платформе Syabas, куда мы будем кросскомпилировать midnight commander, учились не в академгородке.
Теперь договоримся о структуре каталогов для ведения проекта.
Для сборки toolchain мы использовали каталог Staff. Он у нас и дальше будет корнем проекта.
А все библиотеки и сам midnight commander будут располагаться в каталогах ниже Staff по иерархии.
Ну вот теперь все готово. Вперед!Для сборки toolchain мы использовали каталог Staff. Он у нас и дальше будет корнем проекта.
А все библиотеки и сам midnight commander будут располагаться в каталогах ниже Staff по иерархии.
- Скомпилировать zlib
- Скомпилировать libpng
- Скомпилировать slang-2.2.2
- Скомпилировать gettext-0.16
- Скомпилировать libiconv-1.13.1
- Скомпилировать glib-2.22.5
- Скомпилировать midnight commander
Если нет подходящей темы, открывайте новую.
Пока еще:
Не работает статическая сборка.
Решение (заплатка) здесь.
Не работает make install
Решение (заплатка).
- Не работает русская кодировка UTF-8
Если есть желание помочь - велкам. В форуме
Если лениво все это проделывать, то можно просто скачать
дистрибутив: mc-4.7.1-mipsel.tar.bz.
и библиотеки: mc-4.7.1-mipsel-libs.tar.bz
![]() |
Наконец-то дошли руки заглянуть сюда. :)
ОтветитьУдалитьпопробовал поставить готовый вариант mc, что скомпилировали вы, не хватает библиотек для nmt:
ldd ./mc
libintl.so.8 => not found
libslang.so.2 => not found
libgmodule-2.0.so.0 => not found
libiconv.so.2 => /lib/libiconv.so.2 (0x2aaed000)
libglib-2.0.so.0 => not found
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ac10000)
libc.so.0 => /lib/libc.so.0 (0x2ac5f000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
если можно, запакуйте все необходимые для него библиотеки.
Упс...
ОтветитьУдалитьКонечно.
Сейчас запакую библиотеки...
спасибо!
ОтветитьУдалитьбитые ссылки! вместо библиотек - 404-ый трамвай
ОтветитьУдалитьБуду в Москве 25, тогда разберемся.
ОтветитьУдалить