Перейти к содержанию
    

Кросс-компиляция и пути для target filesystem

Вопрос такой.

Хочется собрать пару утилит для устройства с линуксом на борту.

Для этих целей делаю приблизительно так:

./configure --host=mips-linux --prefix=/home/my/targetfs/qwerty и т.д., затем make и make install.

В общем, хотелось бы чтобы это так было :). Но на целевой файловой системе пути, взятые при сборке и установке из prefix, уже не актуальны, и некоторые программы не находят библиотеки или свои доп. файлы. Пока что решаю это созданием символьных ссылок там, где что-то должно быть, "по мнению" собранной программы(в терминах хостовой файл системы), туда, где это действительно лежит в терминах файловой системы таргета.

Есть ли возможность при кросс-компиляции через последовательность ./configure[--options]->make->make install как-то решать этот вопрос?

Прошу извинить, если такой вопрос уже поднимался. Или если он излишне простой. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос такой.

Хочется собрать пару утилит для устройства с линуксом на борту.

Для этих целей делаю приблизительно так:

./configure --host=mips-linux --prefix=/home/my/targetfs/qwerty и т.д., затем make и make install.

Указывать нужно --prefix нужно так, как это будет на таргет системе. Кроме того

./configure --target=mips-linux --host=mips-linux --prefix=/usr/local

Есть ли возможность при кросс-компиляции через последовательность ./configure[--options]->make->make install как-то решать этот вопрос?

Про configure уже сказал. Дальше просто make.

Терерь про make install

Пока Вы на build системе, и хотите установить только что собранное на таргет, Вам нужно

1. Определится где у Вас заготовка корневой ФС для таргета. Предполагаю что это /home/my/targetfs/qwerty

2. Тогда make DESTDIR=/home/my/targetfs/qwerty install. Файлы установятся в указанную папку. Эта папка при установке считается корневой /. От нее будет уже создано необходимое дерево внутри. По примеру выше установится все в /home/my/targetfs/qwerty/usr/local/{bin,lib,share} ну и т.п.

3. Копируем содержимое папки /home/my/targetfs/qwerty на таргет систему в корневую ФС.

Изменено пользователем amw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...