Opened 8 years ago

Closed 8 years ago

#36991 closed defect (duplicate)

clhep: activation error: libCLHEP.a already exists and does not belong to a registered port

Reported by: angelo.graziosi@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: mojca (Mojca Miklavec), ryandesign (Ryan Schmidt), cristiano.fontana@…, mf2k (Frank Schima)
Port: clhep

Description

This evening:

$ sudo port selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.1.2 installed,
MacPorts base version 2.1.2 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

$ sudo port outdated
The following installed ports are outdated:
clhep

$ sudo port upgrade outdated
--->  Computing dependencies for clhep
--->  Fetching archive for clhep
--->  Attempting to fetch clhep-2.1.3.0_0.darwin_11.x86_64.tbz2 from http://lil.fr.packages.macports.org/clhep
--->  Attempting to fetch clhep-2.1.3.0_0.darwin_11.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/clhep
--->  Attempting to fetch clhep-2.1.3.0_0.darwin_11.x86_64.tbz2 from http://packages.macports.org/clhep
--->  Fetching distfiles for clhep
--->  Attempting to fetch clhep-2.1.3.0.tgz from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/clhep
--->  Attempting to fetch clhep-2.1.3.0.tgz from http://lil.fr.distfiles.macports.org/clhep
--->  Attempting to fetch clhep-2.1.3.0.tgz from http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/
--->  Verifying checksum(s) for clhep
--->  Extracting clhep
--->  Configuring clhep
--->  Building clhep
--->  Staging clhep into destroot
--->  Installing clhep @2.1.3.0_0
--->  Cleaning clhep
--->  Deactivating clhep @2.1.2.5_0
--->  Cleaning clhep
--->  Activating clhep @2.1.3.0_0
Error: org.macports.activate for port clhep returned: Image error: /opt/local/lib/libCLHEP.a already exists and does not belong to a registered port.  Unable to activate port clhep. Use 'port -f activate clhep' to force the activation.
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
angelo_graziosi@MacBookPro:~
$ sudo port outdated
No installed ports are outdated.
angelo_graziosi@MacBookPro:~
$ sudo port upgrade outdated
Error: No ports matched the given expression

The result is that now I have:

$ port installed inactive
The following ports are currently installed:
  clhep @2.1.2.5_0
  clhep @2.1.3.0_0

What Do I need to do?

Ciao, Angelo.

Change History (6)

comment:1 Changed 8 years ago by mf2k (Frank Schima)

Resolution: invalid
Status: newclosed

It was a bug in the old portfile, fixed now though. So just force the activate:

sudo port -f activate clhep @2.1.3.0_0

comment:2 Changed 8 years ago by mojca (Mojca Miklavec)

The following would also help:

sudo rm /opt/local/lib/libCLHEP.a /opt/local/lib/libCLHEP.dylib

before activating clhep (but not once a new version is activated). So sudo port -f activate ... is probably safer.

See also #36866. (The new port could automatically delete the files though and correct for the errors of the previous version. It's only a question of whether this affects many people or not. If there are only a few users, it's probably easier to do "port -f activate". If there are many, it's probably the duty of the new port to fix the error.)

comment:3 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: cristiano.fontana@… macsforever2000@… added
Resolution: invalid
Status: closedreopened
Summary: Problem upgrading CLHEPclhep: activation error: libCLHEP.a already exists and does not belong to a registered port

The port needs to be fixed so that users upgrading from those broken versions of the port do not need to force the activation, as was discussed at comment:ticket:36866:5. We need to give our users (and our buildbots) an upgrade path that does not involve manual intervention by the user (or, in the case of the buildbots, our server admin).

comment:4 in reply to:  1 ; Changed 8 years ago by angelo.graziosi@…

Replying to macsforever2000@…:

It was a bug in the old portfile, fixed now though. So just force the activate:

sudo port -f activate clhep @2.1.3.0_0

I did and got:

$ sudo port -f activate clhep @2.1.3.0_0
Password:
--->  Activating clhep @2.1.3.0_0
Warning: File /opt/local/lib/libCLHEP.a already exists.  Moving to: /opt/local/lib/libCLHEP.a.mp_1352924066.
Warning: File /opt/local/lib/libCLHEP.dylib already exists.  Moving to: /opt/local/lib/libCLHEP.dylib.mp_1352924066.
--->  Cleaning clhep

What should I do with those *mp_135* files (oops... links)?

For comment:2 (Mojca): too late!!! :-)

For comment:3 (Ryan): what I wonted to stress with this ticket... ;-)

Ciao, Angelo

(PS. meanwhile I have deleted those links... I hope this is ok..)

Last edited 8 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 in reply to:  4 Changed 8 years ago by ryandesign (Ryan Schmidt)

Replying to angelo.graziosi@…:

What should I do with those *mp_135* files (oops... links)?

Delete them or ignore them.

comment:6 Changed 8 years ago by mf2k (Frank Schima)

Resolution: duplicate
Status: reopenedclosed

Let's handle this in #36866.

Note: See TracTickets for help on using tickets.