[РЕШЕНО] Флаг static-libs для чего он собсна? Можно ли юзать его глобально? Плюс вопрос о количестве флагов
FisHlaBsoMAN 18 ноября, 2012 - 05:27
Приветствую форумчане! При установке одного из пакетов (уже не понмю какого, думаю роли не играет в моем вопросе) требовался флаг static-libs, я его добавил в make.conf (собсно у меня там свалка адовая :D). А вопрос заключается в том - не будет ли этот флаг вредить системе при глобальном обновлении? Что он дает кроме добавления .a файлов к сошкам? Я веб прогер и не особо понимаю в этом.
ПыСы - кто что скажет по поводу >350 флагов в make? Может стоит их както разделить или там отсортировать особым образом (кроме как по алфавиту), просто уже стало трудно ориентироваться в них?
И какие есть способы удалить несуществующие флаги?
ПыСы2 - Не бейте сильно, но я уже иду спать ибо кодил всю ночь )))
»
- Для комментирования войдите или зарегистрируйтесь
Цитата: требовался флаг
Не правильное решение, для этогосуществует /etc/portage/package.use, вы же дочитали Gentoo Handbook до того места гдерассказывается об этих файлах или хотябы wiki страницу: http://ru.gentoo-wiki.com/wiki/HOWTO_%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Portage#.2Fetc.2Fportage.2Fpackage.use
Вредить особо не будет, но будут "тянуться" лишние зависимости и флаги у других пакетов.
Большинство программ собираются слинкованными с динамическими библиотеками, это удобно, т.к. позволяет обновлять эти библиотеки без пересборки (не всегда) программы, которая требует их для своей работы. Иными словами часть кода, который требуется программе расположен в отдельных библиотеках, н.е. нюанс, для запуска таких программ нужны эти самые библиотека, которые могут распологаться на отдельных файловых системах. Если вы задействуете флаг static-libs то программа будет собрана статически без вохможности использовать внешние библиотеки и весь необходимый ей для работы код будет помещён в её исполняемый файл, размер которого существенно увеличится., ведь большинству программ нужен для работы код из glibc, хоть и не весь, но он тоже будт помещён в исполняемый файл. Обновить компоненты программы, которые раньше располагались в библиотеках других пакетов можно только путём полное пересборки такой программы. В общем случае статически собирать программу нужно в редких случаях, в основном это системные пакеты, которые должны работать на этапе запуска системы, когда ещё не смонтирована корневая файловая система или смонтированы не все файловые системы, к примеру у вас /usr расположен на отдельном разделе.
Так что не стоит помещать флаг static-libs глобально в /etc/make.conf, лучше указать его только для тех пакетов, которым нужно в файле /etc/portage.package.use:
Или можете вместо одного файла создать директорию /etc/portage/package.use а в ней уже файлы с указанием флагов для отдельных пакетов.
Собственно это был так же ответ на вопрос:
Благодарю
Благодарю за развернутый ответ.
По мере добавления/обновления софта буду поступать так, возможно даже пересоберу когданить все полностью.
в package.use у меня всего 1 пакет mc с slang гГ ибо глобально оно ломало другие пакеты )
остается только
может есть какие средства в ос... просто не охото писать свой велосипед на трех колесах
Нафиг так жить Х_Х, пойти ядро пересобрать что ли от греха подальше...
>>Mожет есть какие средства в
>>Mожет есть какие средства в ос... просто не охото писать свой велосипед на трех колесах
Странные у вас идеи. В гентоо флаг есть некий параметр, прописанный в определенном ебилде. Зайдите внутрь любого ебилда и посмотрите, ежели есть интерес, что такое флаги и как именно они используются. Затем вы самостоятельно сможете ответить на поставленный вами же вопрос о "несуществующих" флагах и необходимости их удаления. Ну и совет на будущее. Забейте на флаги. Ими нужно заняться ежели собранный пакет не удовлетворяет необходимому функционалу.
ок, оставлю как есть
ок, оставлю как есть
Нафиг так жить Х_Х, пойти ядро пересобрать что ли от греха подальше...
emerge ufed может быть
emerge ufed может быть поможет порядок с флагами навести
спасибо попробую
спасибо попробую
Нафиг так жить Х_Х, пойти ядро пересобрать что ли от греха подальше...