Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#17304 closed defect (wontfix)

Activating perl5 5.8.8_0 failed

Reported by: daviwak-macports@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: activating Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: perl5

Description

When trying to install the port lablgtk2, I get the following error message:

--->  Cleaning lablgtk2
--->  Activating perl5 5.8.8_0+darwin_9
Error: Activating perl5 5.8.8_0 failed: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use the -f flag to force the activation.

Change History (15)

comment:1 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Owner: changed from macports-tickets@… to mcalhoun@…
Status: newassigned

Without more information, it is difficult to know why two per5.8 packages tried to install.
By any chance, did you upgrade to Leopard without reinstalling MacPorts?
Otherwise, I am not sure why one has the darwin_9 variant and the other does not.

comment:2 in reply to:  1 Changed 16 years ago by daviwak-macports@…

Replying to mcalhoun@…:

By any chance, did you upgrade to Leopard without reinstalling MacPorts?

I have just made a fresh installation, after deleting a previous installation as explained in Section 2.3.4 of the guide:

http://guide.macports.org/#installing.macports

Then, the first port I tried to install was lablgtk2, and I got this error message. I get it too when I try to install some of the other ports.

comment:3 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

This is very strange.

I would suggest uninstalling perl5.8 completely, reinstalling it, and trying again.
Since you probably now have two perls installed, you need to use the uninstall with version number:

port installed perl5.8

You will probably see two lines.
For each line, run the command

port uninstall perl5.8 @ ...

where ... is the full version number (without the "(active)").

Now run

port selfupdate
port clean perl5.8
port install perl5.8
port install lablgtk2

Let me know if this solves the problem.

comment:4 in reply to:  1 ; Changed 16 years ago by blb@…

Replying to mcalhoun@…:

Without more information, it is difficult to know why two per5.8 packages tried to install.

It would appear to be a perl5 vs. perl5.8 problem, considering /opt/local/bin/a2p is being used by the active perl5.8 and Activating perl5.

comment:5 in reply to:  4 ; Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Replying to blb@…:

It would appear to be a perl5 vs. perl5.8 problem, considering /opt/local/bin/a2p is being used by the active perl5.8 and Activating perl5.

You are absolutely right.
I don't know how I missed that.

Forget all my previous advice.

port uninstall perl5
port install lablgtk2

Should fix the problem.

It is what happened in #17115.

comment:6 in reply to:  5 Changed 16 years ago by daviwak-macports@…

Replying to mcalhoun@…:

Should fix the problem.

It doesn't work. Although Perl5 in not active, there are other ports which depend on it!

$ port installed perl5
The following ports are currently installed:
  perl5 @5.8.8_0+darwin_9
$ port installed perl5.8
The following ports are currently installed:
  perl5.8 @5.8.8_3+darwin_9 (active)
$ port uninstall perl5
--->  Unable to uninstall perl5 5.8.8_0+darwin_9, the following ports depend on it:
--->  	intltool
--->  	icon-naming-utils
--->  	help2man
--->  	autoconf
--->  	gtk-doc
--->  	ghostscript
--->  	texi2html
Error: port uninstall failed: Please uninstall the ports that depend on perl5 first.

I have tried to upgrade them in the hope that they would use per5.8 but I get the following result:

$ sudo port upgrade help2man
--->  Activating perl5 5.8.8_0+darwin_9
Error: Activating perl5 5.8.8_0 failed: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use the -f flag to force the activation.

comment:7 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Unfortunately, I am not an expert in the dependency tracking part of the MacPorts code,
but there are two more things we can try:

We might be running into a know problem in MacPorts 1.6.
If this is the case, then we try their solution

port -f uninstall perl5
port install lablgtk2

If you get sick of trying these things, the brute force solution is to reinstall MacPorts, install perl5.8, and then install lablgtk2.

The essence of this problem is that we are trying to transition from perl5 to perl5.8 to install /opt/local/bin/perl, and there have been a few problems along the way.
See ##16830 for more details.

comment:8 in reply to:  7 Changed 16 years ago by daviwak-macports@…

Replying to mcalhoun@…:

We might be running into a know problem in MacPorts 1.6.

Indeed it might be related. But I am a bit scared by the option -f. Hopefully my problem will be solved when I upgrade to version 1.7.0. Anyway my installation is working fine in spite of this error message that occurs from time to time.

comment:9 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am glad your installation remains functional.
I am sorry I couldn't be more help.

comment:10 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: wontfix
Status: assignedclosed

I will close this ticked since these issues should be resolved when MacPorts 1.7.0 comes out.

comment:11 Changed 16 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I think the perl5 port should atleast add a perl5->perl5.8 symlink for now...

comment:12 Changed 16 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Cc: jeremyhu@… added

Cc Me!

comment:13 in reply to:  11 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Replying to jeremyhu@…:

I think the perl5 port should atleast add a perl5->perl5.8 symlink for now...

That is easy enough to do, and perl5 will provide ${prefix}/bin/perl5.
Is there any particular reason to do so now?

comment:14 Changed 16 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Yeah, I think we should now. I'm seeing it used in some existing scripts:

$ grep perl5$ /opt/local/bin/* /opt/local/bin/c_rehash:#!/opt/local/bin/perl5

comment:15 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.