реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Кросс-компиляция и пути для target filesystem
Very_hard
сообщение Apr 22 2009, 10:57
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



Вопрос такой.
Хочется собрать пару утилит для устройства с линуксом на борту.
Для этих целей делаю приблизительно так:
./configure --host=mips-linux --prefix=/home/my/targetfs/qwerty и т.д., затем make и make install.
В общем, хотелось бы чтобы это так было smile.gif. Но на целевой файловой системе пути, взятые при сборке и установке из prefix, уже не актуальны, и некоторые программы не находят библиотеки или свои доп. файлы. Пока что решаю это созданием символьных ссылок там, где что-то должно быть, "по мнению" собранной программы(в терминах хостовой файл системы), туда, где это действительно лежит в терминах файловой системы таргета.
Есть ли возможность при кросс-компиляции через последовательность ./configure[--options]->make->make install как-то решать этот вопрос?
Прошу извинить, если такой вопрос уже поднимался. Или если он излишне простой. smile.gif
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 23 2009, 19:16
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(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 на таргет систему в корневую ФС.

Сообщение отредактировал amw - Apr 23 2009, 19:18


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Very_hard
сообщение Apr 24 2009, 06:18
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



Большое спасибо за помощь, amw! smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016