Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кросс-компиляция и пути для target filesystem
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Very_hard
Вопрос такой.
Хочется собрать пару утилит для устройства с линуксом на борту.
Для этих целей делаю приблизительно так:
./configure --host=mips-linux --prefix=/home/my/targetfs/qwerty и т.д., затем make и make install.
В общем, хотелось бы чтобы это так было smile.gif. Но на целевой файловой системе пути, взятые при сборке и установке из prefix, уже не актуальны, и некоторые программы не находят библиотеки или свои доп. файлы. Пока что решаю это созданием символьных ссылок там, где что-то должно быть, "по мнению" собранной программы(в терминах хостовой файл системы), туда, где это действительно лежит в терминах файловой системы таргета.
Есть ли возможность при кросс-компиляции через последовательность ./configure[--options]->make->make install как-то решать этот вопрос?
Прошу извинить, если такой вопрос уже поднимался. Или если он излишне простой. smile.gif
amw
Цитата(Very_hard @ Apr 22 2009, 13:57) *
Вопрос такой.
Хочется собрать пару утилит для устройства с линуксом на борту.
Для этих целей делаю приблизительно так:
./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 на таргет систему в корневую ФС.
Very_hard
Большое спасибо за помощь, amw! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.