Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#7728 closed defect (invalid)

ports will not install new version of perl_5.8 over outdated version

Reported by: ray@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.2
Keywords: Cc: markd@…
Port:

Description

% port outdated The following installed ports are outdated: perl5.8 5.8.7_0 < 5.8.8_0 % % sudo port install perl5.8 Password: ---> Fetching perl5.8 ---> Attempting to fetch perl-5.8.8.tar.bz2 from http://www.cpan.org/src/5.0/ ---> Verifying checksum(s) for perl5.8 ---> Extracting perl5.8 ---> Applying patches to perl5.8 ---> Configuring perl5.8 ---> Building perl5.8 with target all ---> Staging perl5.8 into destroot ---> Packaging tgz archive for perl5.8 5.8.8_0+darwin_8 ---> Installing perl5.8 5.8.8_0+darwin_8 ---> Activating perl5.8 5.8.8_0+darwin_8 Error: Target com.apple.activate returned: Image error: Another version of perl5.8 (5.8.7_0) is already active. Error: /opt/local/bin/port: Status 1 encountered during processing. %

I know there is another version of perl_5.8 active. I saw that it was there and outdated. Yet a newer version cannot replace an outdated version? This seems nonsensical.

I could remove perl_5.8 complete and do a new install. Why would I need to? It would be a waste of time.

Change History (12)

comment:1 Changed 18 years ago by matt@…

You have explicitly asked to port(1) to install perl. If you asked port(1) to upgrade it you wouldn't run into this.

Just use the upgrade target.

However this would be indeed cool to have port(1) detecting an outdated version and ask the user what he wants to do, eg. upgrading or not.

comment:2 Changed 18 years ago by ray@…

I did not think of that. I just figured that install would be smart enough.

But then again....

% sudo port upgrade perl5.8 ---> Activating perl5.8 5.8.8_0+darwin_8 Error: Activating perl5.8 5.8.8_0 failed: Image error: Another version of perl5.8 (5.8.7_0) is already active. %

comment:3 Changed 18 years ago by matt@…

sudo port -u upgrade foobar

comment:4 Changed 18 years ago by matt@…

er, the -u shouldn't helps you there, my bad.

comment:5 Changed 18 years ago by markd@…

Cc: markd@… added

I have not done an upgrade of the perl port and can't verify there are no problems, but you should do a 'port clean --all perl5.8' to clean up the failed perl5.8 install before trying to upgrade. If there isn't some other problem with the upgrade of perl it should work then.

comment:6 Changed 18 years ago by markd@…

Resolution: invalid
Status: newclosed

Closing bug - Please reopen it if you are still having a problem.

comment:7 Changed 18 years ago by ray@…

Resolution: invalid
Status: closedreopened

sh-2.05b# port clean --all perl5.8 ---> Cleaning perl5.8 sh-2.05b# port install perl5.8 ---> Activating perl5.8 5.8.8_0+darwin_8 Error: Target com.apple.activate returned: Image error: Another version of perl5.8 (5.8.7_0) is already active. Error: /opt/local/bin/port: Status 1 encountered during processing. sh-2.05b# port uninstall perl5.8 ---> The following versons of perl5.8 are currently installed: ---> perl5.8 5.8.7_0 (active) ---> perl5.8 5.8.8_0+darwin_8 Error: /opt/local/bin/port: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry. sh-2.05b# port uninstall perl5.8.7_0 Error: /opt/local/bin/port: port uninstall failed: Registry error: perl5.8.7_0 not registered as installed. sh-2.05b# sh-2.05b# port uninstall perl5.8.8_0 Error: /opt/local/bin/port: port uninstall failed: Registry error: perl5.8.8_0 not registered as installed. sh-2.05b# sh-2.05b# sh-2.05b# port uninstall perl5.8 5.8.7_0 ---> The following versons of perl5.8 are currently installed: ---> perl5.8 5.8.7_0 (active) ---> perl5.8 5.8.8_0+darwin_8 Error: /opt/local/bin/port: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry. sh-2.05b# port uninstall perl5.8 5.8.8_0+darwin_8 ---> The following versons of perl5.8 are currently installed: ---> perl5.8 5.8.7_0 (active) ---> perl5.8 5.8.8_0+darwin_8 Error: /opt/local/bin/port: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry. sh-2.05b#

This is rather lame. If there is a way to specify the version, and it is telling me to do so, can it not tell me the form the version specification should take? If it displays the versions, why is that not the way the versions are specified?

comment:8 Changed 18 years ago by danielluke (Daniel J. Luke)

(In reply to comment #7)

sh-2.05b# port clean --all perl5.8 ---> Cleaning perl5.8 sh-2.05b# port install perl5.8 ---> Activating perl5.8 5.8.8_0+darwin_8 Error: Target com.apple.activate returned: Image error: Another version of perl5.8 (5.8.7_0) is already active. Error: /opt/local/bin/port: Status 1 encountered during processing. sh-2.05b# port uninstall perl5.8 ---> The following versons of perl5.8 are currently installed: ---> perl5.8 5.8.7_0 (active) ---> perl5.8 5.8.8_0+darwin_8 Error: /opt/local/bin/port: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.

port uninstall perl5.8 @5.8.7_0 port install perl5.8

should work for you.

comment:9 Changed 18 years ago by ray@…

Using this command does indeed work:

port uninstall perl5.8 @5.8.7_0

I will file another bug about the output from "port uninstall". It should have put the @ character before the version numbers.

comment:10 Changed 18 years ago by markd@…

The new bug's suggestion is a good one. So can this one be closed now?

comment:11 Changed 18 years ago by danielluke (Daniel J. Luke)

Resolution: invalid
Status: reopenedclosed

Bug 8155 is a request for enhancing the error message for port uninstall.

comment:12 Changed 18 years ago by ray@…

Yes. It did not occur to me that I can close it. Let's try.

Note: See TracTickets for help on using tickets.