Исправление сломанных Macports - PullRequest
11 голосов
/ 02 декабря 2008

Я только что попробовал (впервые могу добавить)

установлено обновление порта

в Macports, и я боюсь, что пожалею об этом: множество ошибок, особенно в отношении X11 и Python.

Вот типичное сообщение об ошибке, касающееся python:

---> Активация python24 2.4.5_4 + darwin_9 Ошибка: активировать python24 2.4.5_4 не удалось: Ошибка изображения: /opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4 уже существует и не принадлежит зарегистрированному порту. Невозможно активировать порт python24.

Мой вопрос: стоит ли мне ожидать неприятностей? И: Есть ли намеки на исправление этих ошибок?

Я делал «sync» и «selfupdate» перед обновлением.

Ответы [ 6 ]

15 голосов
/ 02 декабря 2008

Обычно, когда моя установка macports начинает сходить с ума (обычно потому, что я ее запутал), я удаляю папку / opt и переустанавливаю. Я просто ленивый, я думаю. Однако, как это выглядит, вы пытаетесь переустановить новый порт поверх старой / существующей папки.

Вы пробовали Портик ? Он хорошо скажет вам, какие порты установлены и активны. Возможно, если вы деактивировали текущий порт Python и установили новый, это может заставить вас снова двигаться.

10 голосов
/ 03 декабря 2008

Если, как указано в сообщении об ошибке, этот файл существует в каталоге / opt и не принадлежит зарегистрированному порту, вам будет интересно, как он туда попал. Может быть, осталось от предыдущей, возможно, неудачной установки?

В любом случае, я не вижу вреда в простом удалении рассматриваемого файла (и, судя по всему, вероятно, всего каталога /opt/local/Library/Frameworks/Python.framework/Versions/2.4)

Вообще говоря, для решения подобных проблем вам следует обратиться к администратору порта или задать вопрос в списке рассылки macports.

6 голосов
/ 02 марта 2010

Я также недавно получил это сообщение об ошибке

[...] already exists and does not belong to a registered port

в моем случае, потому что я пытался использовать Macports для установки Putty (для поддержки FireFTP). Во всяком случае, в прошлом году я использовал 'fink' и apt-get на Leopard, потому что я больше знаком с Debian / Ubuntu. Итак, достаточно фона.

Дело в том, что у меня была установлена ​​библиотека (expat) через apt-get, которую macports хотел обновить. Но он был зарегистрирован с использованием совершенно другого, конкурирующего менеджера пакетов. Вот что означало для меня это сообщение. Имеет смысл. Обновление через apt-get не привело меня к достаточно высокой версии, поэтому вместо этого мы используем FORCE, чтобы выполнить обновление.

Для меня sudo port -d -f install expat протолкнул обновление, переписал apt-версию и позволил мне прогрессировать.

Здесь мы надеемся, что это не повредило другие вещи в проверках Debian при этом.

1 голос
/ 03 марта 2013

У меня возникла проблема с реестром. Я просто попытался "sudo port -d -f удалить программу". Программа ссылается на программу с поврежденным реестром.

1 голос
/ 25 января 2010

Очистка / opt / local и переустановка macports для меня работали нормально на снежном барсе.

0 голосов
/ 02 декабря 2008

Mac OS X 10.4.11 поставляется с Python 2.4 (не уверен насчет Leopard). Его путь - /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4, поэтому вам может не потребоваться установка вообще.

...