Досі невирішена помилка встановлення на macports. "Залежність не знайдена"


0

Я намагаюся встановити "ipe" на Snow Leopard через macports. Команда, яку я виконую, це "sudo port install ipe". Це вихід:

Chriss-MacBook:macports chris$ sudo port install ipe
Warning: No port p5.12-locale-gettext found in the index.
--->  Computing dependencies for help2man
Error: Dependency 'p5.12-locale-gettext' not found.
Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade pkgconfig failed
To report a bug, see <http://guide.macports.org/#project.tickets>

Що дає? Як це можна виправити?

редагувати після оновлення, це вихід. Все ще невдало.

--->  Computing dependencies for p5.12-locale-gettext
--->  Fetching archive for p5.12-locale-gettext
--->  Attempting to fetch p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2 from http://packages.macports.org/p5.12-locale-gettext
--->  Attempting to fetch p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/p5.12-locale-gettext
--->  Installing p5.12-locale-gettext @1.50.0_6
--->  Activating p5.12-locale-gettext @1.50.0_6
Error: Target org.macports.deactivate returned: Active version of p5-locale-gettext is not 1.50.0_3 but 1.05_3.
Log for p5-locale-gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_p5-locale-gettext_1.05_3/p5-locale-gettext/main.log
Warning: Failed to execute portfile from registry for p5-locale-gettext @1.05_3
--->  Deactivating p5-locale-gettext @1.05_3
--->  Cleaning p5.12-locale-gettext
Portfile changed since last build; discarding previous state.
--->  Computing dependencies for help2man
--->  Fetching archive for help2man
--->  Attempting to fetch help2man-1.40.4_1.darwin_10.x86_64.tbz2 from http://packages.macports.org/help2man
--->  Attempting to fetch help2man-1.40.4_1.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/help2man
--->  Installing help2man @1.40.4_1
--->  Cleaning help2man
--->  Computing dependencies for help2man
--->  Deactivating help2man @1.38.2_0
--->  Cleaning help2man
--->  Activating help2man @1.40.4_1
--->  Cleaning help2man
--->  Computing dependencies for autoconf
--->  Dependencies to be installed: perl5
--->  Activating perl5 @5.12.3_1+perl5_12
Error: Target org.macports.activate returned: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use 'port -f activate perl5' to force the activation.
Error: Failed to install perl5
Log for perl5 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_perl5/perl5/main.log
Error: The following dependencies were not installed: perl5
Error: Unable to upgrade port: 1
Error: Unable to execute port: upgrade pkgconfig failed

досі не вирішена

Відповіді:


2

була така ж проблема. Я пішов за порадою Йенса і зробив "оновлення портів застарілим", але відсутні залежності все ще існували. Деякі додаткові дослідження допомогли, мені було корисно:

http://comments.gmane.org/gmane.os.apple.macports.tickets/11599

де він говорить:

Повідомлення про відсутність p5. * - порти майже завжди викликані наявністю   MacPorts 1.x, запускаючи один раз для оновлення до MacPorts 2.x, і   індекс не перебудовується належним чином. Рішення для цього має виконуватися   selfupdate другий раз, який повторно збирає індекс. Якщо це так   не вирішивши проблему у вашому випадку, ми хотіли б побачити помилку   повідомлень, які ви бачите, а також вихід "sudo port -v   selfupdate ".

Тому після другого "sudo порту -v selfupdate" він спрацював для мене! Якщо ввімкнено режим багатомовного перегляду, ви побачите, як порт відновлює відсутні залежності. Зробив мій день!



0

Журнал помилок повідомляє, що робити (або принаймні спробувати):

Error: Target org.macports.activate returned: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use 'port -f activate perl5' to force the activation.

Старіша версія для perl активована. Дізнайтеся, яка версія Perl активована зараз port -f activate perl5, вона надрукує деякі версії з 5.8. Просто вимкніть його за допомогою port deactivate perl @5.8.9_0 (змініть номер версії на відповідний) і перевстановіть все, що хочете встановити - нова версія perl тепер буде встановлена ​​правильно.

Звичайно, є якийсь кращий спосіб дізнатися, яку версію Perl встановлено - так як я більше не використовую macports, а homebrew я не можу нічого спробувати. Можливо, інший користувач дізнається ...

PS: Не тільки port selfupdate, також a port upgrade outdated оновити встановлені пакунки до нових версій.


Chriss-MacBook: macports chris $ sudo port -f активує perl5 Пароль: --- & gt; В даний час встановлено наступні версії perl5: --- & gt; perl5 'at'5.8.9_0 --- & gt; perl5 'at'5.12.3_1 + perl5_12 Помилка: порт не активовано: помилка реєстру: Вкажіть повну версію, записану в реєстрі портів. Chriss-MacBook: macports chris $ sudo порт вимкнено perl 'at'5.8.9_0 Помилка: вимкнення порту не вдалося: помилка зображення: порт perl не активний. Chriss-MacBook: macports chris $ sudo порт вимкнено perl 'at'5.12.3_1 + perl5_12 Помилка: порт вимкнено, помилка: Помилка зображення: порт perl не активний.
blnak

Ви можете спробувати примусово видалити perl sudo port -f uninstall perl а потім інсталюйте ipe (яка перевстановить perl в новій версії). Примусове видалення видаляє perl, хоча інші пакети залежатимуть від нього, оскільки ви безпосередньо перевстановите його, що не має значення. Але там міг бути проблемами з пакунками, які потребують такої старої версії (хоча ймовірність низька).
Jens Erat

0

Я розумію, що це питання досить старе, але у випадку, якщо хтось інший має цю проблему, я знайшов тут рішення, яке потрібно було трохи змінити (з -f для сили та для конкретних версій): http://yetanotherprogrammingblog.com/node/19

в основному це:
побачити, які версії perl існують: встановлений порт sudo | grep perl
Шахта була іншою, просто видалили всі старіші версії perl.
perl5 @ 5.8.9_0
perl5 @ 5.12.3_0 + perl5_12
perl5.12 @ 5.12.3_1 (активний)
perl5.8 @ 5.8.9_3 (активний)
Спочатку видаліть збірку, як це
sudo port -f видалення perl5 @ 5.8.9_0
потім видаліть всі старі версії perl
sudo port -f видалення perl5.8
якщо у вас є кілька старих збірок та версій, зробіть це для всіх. Ви можете залишити нову версію (5.12 або будь-яку іншу версію системи)
Потім зробіть
оновлення судо портів і perl5

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.