Кто-нибудь кросс-скомпилировал Mono для MIPS 64, используя uClibc? - PullRequest
5 голосов
/ 20 апреля 2009

Я пытаюсь статически скрестить компиляцию Mono для MIPS. Я могу скомпилировать Mono, но он всегда динамически связан с зависимостями, даже если я указываю статический компилятору.

Я написал тестовую программу и могу статически скомпилировать ее с моей цепочкой инструментов и запустить на целевой платформе. Я не уверен, что я что-то упустил или это невозможно. Я собрал свой набор инструментов, используя buildroot .

EDIT

Чтобы сделать вещи немного более понятными, я хотел бы статически скомпилировать mono с его зависимостями. Зависимости, на которые опирается mono: GLib, pkg-config и gettext. Я полагаю, что GLib является прямой зависимостью, а GLib зависит от pkg-config и gettext.

Я могу опубликовать переменные окружения и при необходимости настроить команду.

Ответы [ 3 ]

1 голос
/ 22 июля 2009

Ну, прошло уже много времени с тех пор, как я попробовал это, но я хотел сообщить, что я узнал. Во-первых, я обнаружил, что процессор MIPS является 64-разрядным, а не 32-разрядным, как мне первоначально сказали для встраиваемого устройства, на которое я нацеливался. Во-вторых, когда я работал над этим, у Mono еще не было поддержки MIPS 64-bit. После небольшого исследования я увидел, что группа в N-iX портирует Mono для поддержки 64-битной архитектуры MIPS, основанной на 32-битном порту, который уже был сделан. 64-битный порт создавался для компании SiCortex, Inc. , и N-iX пытался применить свои патчи к основному стволу разработки Mono. Вы можете проверить эту ветку форума для получения дополнительной информации. Я написал, что хочу помочь с тестированием, но ответа так и не получил.

Что касается статической компиляции Mono, я узнал, что Mono использует libtool для связывания своих библиотек. Мне нужно будет больше узнать об этом инструменте, прежде чем пытаться статически скомпилировать. Я остановился, узнав, что Mono еще не поддерживает MIPS 64-bit. Мне также необходимо проверить, применялись ли когда-либо патчи 64-битных портов к Mono.

Надеюсь, это поможет.

1 голос
/ 23 апреля 2009

Чтобы получить полностью статически связанный Mono, вы должны сначала построить все его зависимости (и их зависимости рекурсивно) как статические библиотеки. Только тогда вы сможете построить действительно статичный моно.

0 голосов
/ 08 сентября 2009

В одном из недавних подкастов stackoverflow Мигель сказал, что они портировали Mono на iPhone, используя, на мой взгляд, много статического звука. Хотя он и не 64-битный, он показывает, что с Mono можно делать неприятные вещи.

...