Требуется boost-1.37
Ardling 10 апреля, 2009 - 13:39
На работе требуется поставить boost не старее чем 1.37, тк без него не работает уже написанный проект. В портеже boost есть, но версии выше чем 1.35 "Hard Masked". Посему у меня остается только два выхода, либо ставить boost через make install, либо размаскировывать. В данный момент мне интересно, чем мне грозит каждый из этих вариантов.
Пожалуйста, не предлагайте мне переходить на другой инструментарий, это решаю не я, а проект использующий boost уже написан.
»
- Для комментирования войдите или зарегистрируйтесь
Почему?
Еще очень интересно, почему сейчас boost старших версий хард маскед. Что послужило причиной? Можно где-то об этом посчитать, чтобы решить чем чреваты те или иные мои действия?
One of the following masked
One of the following masked packages is required to complete your request: (16 Dec 2008)
- dev-libs/boost-1.37.0-r1 (masked by: package.mask, ~x86 keyword)
/usr/portage/profiles/package.mask:
# Tiziano Müller
# Mask for testing
Насколько я помню, новые версии маскировались для того чтобы отработать слотирование разных бустов.
Не грусти, товарищ! Всё хорошо, beautiful good!
Где подсмотреть
Скажите пожалуйста, а где вы это подсмотрели? На http://gentoo-portage.com/dev-libs/boost в разделе View, или где-то еще подобная информация выложена?
Если замаскировано для тестирования, то почему хард маскед а не только ~x86?
boost-1.37
Размаскировывал boost-1.37, в итоге многие пакеты не собирались, ссылаясь на отсутствие необходимых файлов и ссылок boost, эта версия ещё не пригодна к использованию!
Собрал
Собрал все руками, хотя это и не gentoo way (make, make install) все нормально собралось.
Лучше gentoo way =))
Можно boost собрать и через порты, все соберется на ура, а вот зависящие от него пакеты могут и не собраться ;)
Привет системе. Потом не
Привет системе. Потом не жалуйтесь (-:Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Если ты такой умный
То напиши способ, как лучше сделать, ибо именно чтобы узнать это я и завел эту тему.
Я порядка десяти тем создал в этом форуме, и на большинстве из них ты отписался, но НИ РАЗУ не ответил ничего осмысленного, или хотя бы отдаленно связанного с обсуждаемой темой. ФАК я и без тебя прочитал, погуглить тоже пока справляюсь. Поэтому пожалуйста, не пиши больше в темах которые я создаю.
а что тебе можно осмысленного
а что тебе можно осмысленного ответить?
В FAQ написано о том что ставить в обход portage неочень хорошо и после этого ты разбираетесь со свежеполученной слакой сам.
в portage эта версия маскирована, можно сходить на багзиллу и посмотреть что там пишут. если она жёстко маскирована - у неё есть большие проблемы, скорее всего ломается обратная совместимость, и народ думает как это исправить.
И после этого ты делаеш гениальный ход - выбираеш оба худших варианта - ставиш в обход portage софтину которая будучи поставлена даже через portage ломает систему и наслаждаешся невозможностью убрать последствия, так как ставил руками.
и что можно ещё ответить кроме как то, что тебе ответили?
Если нечего сказать - молчите
Это я не лично вам, не обижайтесь пожалуйста.
Я поясню свою точку зрения. Я уже указал выше, что мне известно о негативных последствиях моего решения. Я его принимаю не потому что мне плевать на мнение разработчиков gentoo и portage, просто если бы я еще вчера каким-то способом не поставил boost, это повлекло бы негативные последствия, вплоть до снятия с занимаемой должности. Лучшего способа мне тут не предложили...
Мнение озвученное krigstask мне совершенно не интересно, потому что я знаю, что мои действия могут привести к повреждению portage. Если бы это было его первое не содержащее полезной информации сообщение в созданных мной темах, я бы промолчал. Я так первые несколько раз и сделал.
Эта ветка создана не для выяснения отношений, поэтому если вы хотите поговрить о правильности или неправильности моего заявления - давайте создадим для этого отдельную тему и все выясним.
Что касается повреждения portage - это весьма спорный вопрос. Сама по себе установка через make install не так критична. Она не нарушает работу potrage сама по себе. К сбою она приводит только в тех случаях, когда make install изменяет пакеты, уже установленные portge. Насчет невозможности убрать последствия вы ошибаетесь, есть команда make clean, которая убирает все изменения, которые внесла make install. Еще у меня перед глазами пример моего непосредственного начальника, коорый уже пол года пользуется gentoo с установденым через make boost и система и portage вполне работоспособны. По крайней мере по его словам.
В этой теме я предлагаю обсуждать различные проблемы, возникающие при установке hard masked пакетов и пакетов установленных через make install. Выслушаю любые альтернативные варианты решения моей проблемы, кроме перехода на другую версию boost, так как этот вариант неприемлем.
Естественно
естественно размаскировать и попробовать поставить.. это не так критично, хуже ставить из исходников.
PS. eselect boost позволит переключаться на лету между разными версиями.
помоему мы друг друга
помоему мы друг друга совершенно непоняли.
Есть 2 варианта установки - через portage с маскированного пакета или вручную, make && make install.
Они приводят к более-мнее одинаковому результату на ФС, только вот в первом варианте у тебя есть контроль, а во втором нет. Если тебе нужно что-то что замаскировано - размаскируй и ставь, для того оно там и лежит. Грабли будут, ты они сможеш рассказать в багзилле, на форуме, откатится назад и тп. Во втором варианте ты получаеш только минусы - почти тотже результат на ФС и отсутствие вменяемой поддержки.
Я (как и фак) говорил что установка мимо portage ломает систему, не сам portage, он тут непричём. то что делает make clean пишет разработчик пакета, и вычистит оно всё или нет - зависит от него-же. но headers точно оно не чистит, конфиги редко, да и много чего не трогает. К тому-же во время установки могут запускаться скрипты которые будут менять на усмотрение (или по недосмотру) разработчика пакета что угодно в системе. И от этого бывают странные, малопонятные баги, вылазиющие непойми где. К тому-же при make && make install сборка пойдёт с несколько другими настройками, он при установке молча перезапишет некоторые куски пакета поставленного через portage и новые пакеты зависимые от boost возможно будут собираться не так как собрались бы будь то прошлая версия boost. А так как пакет имеет проблемы, скорее всего небудут.
Мне лично совершенно неясно зачем ставить мимо portage когда можно поставить через него, или если вручную поставить то проблемы пакета кудато денутся?
рпаы
Я не "такой умный", я модератор.
Что "это"? Русским по белому до меня ещё написали "замаскирована, ибо новая". Человек с мозгом подумает и взвесит, надо ли оно ему. Из темы видно, что надо. Значит, думает разумный человек, размаскируем и попробуем поставить. Но нет! Бравый Ardling, хотя ему никто не советовал ставить ручками, поступает именно так, после чего жутко обижается на сообщение о том, что сломал систему.
Да боже мой, легко! Пусть другие тыкают в FAQ и гугль, ну или переписывают решения оттуда.
Есть редкий шанс отправить мне "баг-репорт" со ссылками на мои "бесполезные" сообщения и получить внятные объяснения, ну или попробовать объяснить мне, где я неправ. Не упустите возможности улучшить модераторский состав, хе-хе. Но — в личку или в Яббер.
P.S. Ждём обличительных сообщений от Casufi
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
stow
Если так хочется чего-то вне пределов portage поставить и чтоб овцы целы были, ставьте boost в /usr/local, а еще лучше -- в /usr/local/stow/boost и курните man stow. Я так поставил, в частности scribus-1.3.5 и все довольны.
:}
Интересная идея
А как выбрать куда ставить boost?
--prefix
./configure --prefix=/usr/local/stow/boost-1.37
и потом
cd /usr/local/stow && stow boost
На то вам и даден /usr/local, чтобы отделить ваше собственные подвижки в управлении системой от того, что считает нужным держать в системе вашего дистрибутива пакетный манажер.
Собсно, можно и --prefix=куда_угодно, но тогда надо каждой от boost зависимой сборке подсказывать, где ваш boost искать. Поэтому люди и изобрели stow.
А когда надоест
stow -D boost-1.37
Почитайте man stow, оно полезно!
:}