Собственно появилось желание установить новую версию mc на HDX-1000 и время разобраться в процессе кросс-компиляции.
Я буду проделывать все шаги от начала - почти полного незнания того, как делается кросс-копиляция, до, надеюсь, рабочего midnight commander.
Полного и исчерпывающего how to я нигде не нашел. Попытаюсь устранить пробел.
Я буду проделывать все шаги от начала - почти полного незнания того, как делается кросс-копиляция, до, надеюсь, рабочего midnight commander.
Полного и исчерпывающего how to я нигде не нашел. Попытаюсь устранить пробел.
Хочу поблагодарить разработчиков и мейнтейнеров проекта midnight commander с которыми мне довелось пообщаться, а именно andrew_b, il.smind, repolainen, slavazanko за доброе отношение и желание помочь.
Здесь отвлечемся и просто уточним процесс сборки из исходников программы в linux.
Собственно весь процесс сборки изображен на диаграмме слева.
Почти для всех программ этот процесс одинаков.
Когда мы собираем программу или библиотеку мы последовательно выполняем три шага
$ ./configure [param-1]...[param-n]
$ make
$ make install
Выполнение по шагам этой инструкции предполагает отсутствие ошибок. Составляя эту инструкцию, я все проделывал самолично и, думаю, значительно минимизировал их количество. Но, все таки, в вашей сборке могут выявиться ошибки, которые не возникли в моей конфигурации. Причин, почему это происходит, достаточно.
Собственно весь процесс сборки изображен на диаграмме слева.
Почти для всех программ этот процесс одинаков.
Когда мы собираем программу или библиотеку мы последовательно выполняем три шага
$ ./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, тогда разберемся.
ОтветитьУдалить