Opened 15 years ago
Closed 15 years ago
#21069 closed defect (wontfix)
'port upgrade --force installed ' fails on help2man
Reported by: | permezel@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.0 |
Keywords: | Cc: | colm.connolly@…, ryandesign (Ryan Carsten Schmidt), jmroot (Joshua Root), ch-macports@…, nodje.co@… | |
Port: | help2man |
Description (last modified by tobypeterson)
Per request, 'port upgrade --force installed' failed.
Snow Lep, new ports dmg, attempting to upgrade.
---> Configuring help2man Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_help2man/work/help2man-1.36.4" && ./configure --prefix=/opt/local --mandir=/opt/local/share/man --infodir=/opt/local/share/info " returned error 1 Command output: checking for perl... /opt/local/bin/perl checking for gcc... /usr/bin/gcc-4.2 checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /usr/bin/gcc-4.2 accepts -g... yes checking for /usr/bin/gcc-4.2 option to accept ANSI C... none needed checking for library containing dlsym... none required checking for module Locale::gettext... no configure: error: perl module Locale::gettext required Error: Unable to upgrade port: 1
Attachments (1)
Change History (14)
Changed 15 years ago by permezel@…
comment:1 Changed 15 years ago by tobypeterson
Description: | modified (diff) |
---|
comment:2 Changed 15 years ago by tobypeterson
Cc: | colm.connolly@… added |
---|
comment:3 Changed 15 years ago by jmroot (Joshua Root)
Yeah, basically the way things are set up, perl doesn't get rebuilt. There isn't a simple fix for that.
comment:4 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… jmr@… added |
---|---|
Port: | help2man added |
Why doesn't perl get rebuilt? It is declared as a dependency, isn't it?
comment:5 Changed 15 years ago by jmroot (Joshua Root)
Summary: | requested report of 'port upgrade --force installed ' failure → 'port upgrade --force installed ' fails on help2man |
---|
comment:6 Changed 15 years ago by jmroot (Joshua Root)
I came to that conclusion yesterday after looking at the upgrade code and the way the perl dependencies are specified, i.e. path:bin/perl:perl5
, and noting that perl5 doesn't actually provide bin/perl (perl5.8 does). This would be fixed by the changes in #16830. I could always be wrong though...
comment:7 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ch-macports@… added |
---|
Has duplicate #20953.
comment:8 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
I updated Migration to recommend the removal of the perl ports before upgrading. Do you agree that should work around the problem for now?
comment:10 Changed 15 years ago by nodje.co@…
Same happened to me with 1.8.1. Migration page advices to clean and uninstall everything, which is quite different from sudo port upgrade --force installed, isn't it?
Do you mean clean uninstall perl ports only, then sudo port upgrade --force installed should work?
comment:11 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
The Migration page used to offer a second upgrade method involving "sudo port upgrade --force installed". Since that caused so many problems, that option was removed from the documentation, and we now only mention the more involved manual method because of its greater probability for success.
comment:12 follow-up: 13 Changed 15 years ago by nodje.co@…
Ok, I understand this is the final solution.
I don't see the difference between
sudo port clean installed sudo port -f uninstall installed
and just
sudo rm-rf /opt/local
Wouldn't it just be faster to delete and reinstall everything?
comment:13 Changed 15 years ago by blb@…
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Replying to nodje.co@…:
Ok, I understand this is the final solution.
I don't see the difference between sudo port clean installed
The clean command simply cleans out build-related items (and, with other options, distfiles and archives). It does not affect installed ports in any way.
sudo port -f uninstall installed
This is the way to uninstall every port installed but leaving MacPorts base in place.
and just sudo rm-rf /opt/local
This kills everything, ports, MacPorts base, and any other files like configuration items and databases. Read the FAQ entry on uninstal to make sure you get all the bits (a few things may reside outside /opt/local).
Wouldn't it just be faster to delete and reinstall everything?
The rm -rf is the fastest but you'll lose the aforementioned configuration and database parts (if any). The best method (assuming you have the disk space) would be to remove the various bits not in /opt/local and simply move /opt/local aside (eg, /opt/local.old). This way you can copy database and configuration bits over after doing the reinstall.
But in the end, the reinstall-from-scratch is the only reliable way to upgrade MacPorts with a new OS version.
this might be more readable.