Укажите, какую версию установить с помощью macports

Я хотел бы установить определенную версию gdb и gcc с macports на mac os x leopard, не последнюю, а 6.8 для gdb. Является ли это возможным?


person Open the way    schedule 08.03.2011    source источник
comment
Почему бы просто не использовать Apple gcc и gdb, которые устанавливаются вместе с Xcode?   -  person Paul R    schedule 08.03.2011
comment
Я хочу использовать Eclipse CDT, и он не может работать с gdb от Apple, вот в чем причина.   -  person Open the way    schedule 08.03.2011
comment
это кажется очень хлопотным, когда вы можете просто использовать Xcode?   -  person Paul R    schedule 08.03.2011
comment
с Xcode нельзя использовать обратную отладку и внешние плагины   -  person Open the way    schedule 08.03.2011


Ответы (4)


Этот пост старый.. но можно указать версию. Например, я хочу установить ZeroMQ версии 3.2.2, поэтому я использую:

sudo port install zmq @3.2.2

И всегда полезно зайти на веб-сайт MacPorts и поискать, есть ли у них то, что вы ищете.

person BAR    schedule 02.03.2013
comment
Как упомянул Адам, это не работает с текущей версией MacPorts (2.2.1). - person TachyonVortex; 27.11.2013
comment
@TachyonVortex Ответ Адама, похоже, не дает исправления. Мой ответ все еще работает, не знаю, почему у вас проблемы. О, а у меня однострочный :D - person BAR; 11.12.2014
comment
У меня установлена ​​последняя версия MacPorts (в настоящее время 2.3.3), и запуск sudo port install zmq @3.2.2 приводит к установке версии 3.2.5: Installing zmq @3.2.5_0 Activating zmq @3.2.5_0 - person TachyonVortex; 14.12.2014
comment
@TachyonVortex Это не означает, что команда не работает. Есть что-то, что сделали сопровождающие репозитория zmq, чтобы вызвать это. Возможно, они удалили 3.2.2 или сделали принудительную ссылку на 3.2.5. Пожалуйста, прочитайте справочные страницы macport для «установки». Также рекомендую проверить версию zmq, которая была установлена, вместо того, что отображал macports, поскольку я уже видел эту странную ошибку раньше. Кстати: сейчас я использую исключительно доморощенный :) - person BAR; 15.12.2014
comment
Нет, это не проблема с zmq. Я только что выбрал пять случайных портов и попытался установить более старые версии, используя sudo port install <PORT> @<VERSION>, и все пять установили текущие версии. Вот журнал. Если бы более старые версии можно было установить с помощью этого метода, не было бы необходимости в статье на официальной вики под названием Как установить старую версию порта, которая была регулярно обновляется в течение последних 7 лет. - person TachyonVortex; 16.12.2014
comment
@tachyonvortex Я не говорил, что это проблема с ZMQ, только с репозиторием. - person BAR; 19.12.2014
comment
Вы можете следовать инструкциям по созданию локального хранилища портфайлов guide.macports.org/#development.local. -репозитории. Просто скопируйте исходный файл порта в локальный репозиторий, измените версию и перестройте портиндекс. Таким образом, вы также можете заблокировать версию от обновления командой selfupdate. - person patrikha; 02.06.2015
comment
Разработчик MacPorts здесь. Это не работает. Синтаксис @version можно использовать только в том случае, если порт уже установлен, но деактивирован, чтобы активировать конкретную версию, которая у вас есть. - person neverpanic; 05.01.2016
comment
@neverpanic это старо, но это определенно сработало для меня и, по-видимому, для других. Пожалуйста, не стесняйтесь исправлять мой пост. И вы должны публиковать то, что работает. - person BAR; 08.01.2016
comment
Нет, это не работает. Он всегда будет устанавливать последнюю версию, если только указанная вами более старая версия уже не была установлена, но деактивирована (в этом случае это эквивалентно port activate $port @$version). Не нужно публиковать то, что работает, потому что пост под этим уже работает. - person neverpanic; 08.01.2016
comment
@neverpanic Поверю тебе на слово. Ссылаясь на сообщение ниже, я очень шокирован тем, что после всех этих лет это не просто однострочник, а это. - person BAR; 08.01.2016
comment
Это связано с тем, что проблема не может быть легко решена при отсутствии информации о версии в объявлениях зависимостей, которой нет в MacPorts. Как всегда, это открытый исходный код, поэтому патчи для его исправления приветствуются. - person neverpanic; 11.01.2016
comment
@neverpanic Спасибо за разъяснение. Я хотел бы иметь больше времени, чтобы помочь! - person BAR; 11.01.2016

Это возможно. Это просто запутанно и утомительно. В наши дни он перечислен в документации.

Шаги

Перейдите на страницу macports trac и найдите нужный пакет. Это ссылка на subversion, которая пакет, который я буду использовать в примере.

Щелкните файл порта щелкните файл порта

Щелкните журнал изменений (вверху справа) щелкните журнал изменений

Перебирайте ревизии, пока не найдете нужную версию. Запомните номер ревизии. Поиск версии в журнале ревизий

В этом примере я ищу версию 1.7 subversion.

С этим отмеченным номером ревизии. Вам нужно проверить версию этого подкаталога в этой версии.

cd /tmp
svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion --revision 106629

Затем перейдите в папку и запустите установку

cd subversion
sudo port install

Тогда он должен стать выбранным по умолчанию. Вы можете проверить с

sudo port installed subversion
The following ports are currently installed:
  subversion @1.7.10_0 (active)
  subversion @1.8.8_0
  subversion @1.8.10_0
person jmathew    schedule 30.10.2014
comment
Похоже, у меня есть отрицательный голос по этому ответу. Может ли downvoter объяснить? Если в ответе что-то не так, было бы полезно знать. - person jmathew; 16.12.2014
comment
Сработало хорошо для меня, но ваш пробег может отличаться. - person hutheano; 10.05.2017
comment
Похоже, разработка переместилась с trac на github: github.com/macports/macports-ports - person Bruno Rino; 02.08.2019

Поскольку я только что столкнулся с этим вопросом, пытаясь понять, как загрузить более старую версию curl, я решил поделиться обновлением:

Принятый в настоящее время ответ больше не работает для меня. Это с MacPorts 2.2.0. Я сделал следующее.

Я начал следовать указаниям, расположенным здесь. В итоге я использовал метод SVN, так как первый метод не работал. Чего я не понимал, так это того, что пропустил важный шаг.

Я нашел еще один пост, в котором предлагалось переместить загруженный каталог в /private/tmp. После этого я cd перешел в новый каталог, а через sudo port install смог установить старую версию.

Я работаю на Mac под управлением OS X 10.8, поэтому ваш пробег может отличаться.

person Adam Nutt    schedule 21.10.2013
comment
Эта вики-статья InstallingOlderPort была недавно обновлена, чтобы осветить эту проблему. Загруженный файл порта должен быть помещен в каталог (например, /tmp), который MacPorts может прочитать. - person TachyonVortex; 27.11.2013

Насколько я знаю, вообще невозможно установить другие версии, кроме точной версии, если только нет определенного порта для определенной версии.

Единственное, что вы можете сделать, это получить файл порта нужной версии из репозитория Subversion Macports.

В вашем случае в текущей версии доступен только gdb 7.2, без вариантов и без других версий - извините :)

person Philipp    schedule 13.03.2011