Opened 11 years ago

Closed 11 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 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)

xx.txt (1.0 KB) - added by permezel@… 11 years ago.
this might be more readable.

Download all attachments as: .zip

Change History (14)

Changed 11 years ago by permezel@…

Attachment: xx.txt added

this might be more readable.

comment:1 Changed 11 years ago by tobypeterson

Description: modified (diff)

comment:2 Changed 11 years ago by tobypeterson

Cc: colm.connolly@… added

comment:3 Changed 11 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 11 years ago by ryandesign (Ryan 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 11 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 11 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 11 years ago by ryandesign (Ryan Schmidt)

Cc: ch-macports@… added

Has duplicate #20953.

comment:8 Changed 11 years ago by ryandesign (Ryan 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:9 Changed 11 years ago by nodje.co@…

Cc: nodje.co@… added

Cc Me!

comment:10 Changed 11 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 11 years ago by ryandesign (Ryan 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 Changed 11 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 in reply to:  12 Changed 11 years ago by blb@…

Resolution: wontfix
Status: newclosed

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.

Note: See TracTickets for help on using tickets.