Opened 3 weeks ago

Last modified 3 weeks ago

#71365 assigned defect

mumps @5.7.3_0+gfortran+mpich+openblas rev-upgrade fails due to self-conflict

Reported by: murrayE Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.10.4
Keywords: sequoia arm64 Cc:
Port: mumps

Description

Trying to upgrade mumps @5.7.3_0+gfortran+mpich+openblas under macOS Sequoia 15.1.1. Get configure failure with message:

--->  Configuring mumps
Error: mumps cannot be built while another version of mumps is active.
Error: Please forcibly deactivate the existing copy of mumps, e.g. by running:
Error: 
Error:     sudo port -f deactivate mumps
Error: 
Error: Then try again.
Error: Failed to configure mumps: mumps is active

So I do execute sudo port -f deactivate mumps but exactly the same thing happens.

Attachments (1)

msin.log (16.2 KB) - added by murrayE 3 weeks ago.
main.log

Download all attachments as: .zip

Change History (6)

Changed 3 weeks ago by murrayE

Attachment: msin.log added

main.log

comment:1 Changed 3 weeks ago by ryandesign (Ryan Carsten Schmidt)

You should not get that message if you have deactivated mumps. Please show the output of:

port -v installed mumps

If it shows that mumps is (active), try sudo port -f deactivate mumps again. Then verify with port -v installed mumps that it is indeed inactive. Then try installing it again. Does the error still happen? If so, has mumps become reactivated? That should only happen if mumps is somehow a dependency of itself, but I do not see that being the case on my system.

comment:2 Changed 3 weeks ago by murrayE

[~] % sudo port -f deactivate mumps
[~] % port -v installed mumps      
The following ports are currently installed:
  mumps @5.7.3_0+gfortran+mpich+openblas requested_variants='+gfortran' platform='darwin 24' archs='arm64' date='2024-09-27T16:07:06-0400'
[~] % sp sync
--->  Updating the ports tree
[~] % sp install mumps +gfortran+mpich+openblas 
--->  Computing dependencies for mumps
--->  Activating mumps @5.7.3_0+gfortran+mpich+openblas
--->  Cleaning mumps
--->  Scanning binaries for linking errors
--->  Found 10 broken files, matching files to ports     
--->  Found 1 broken port, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: mumps @5.7.3+gfortran+mpich+openblas
Continue? [Y/n]: y
--->  Computing dependencies for mumps
--->  Cleaning mumps
--->  Scanning binaries for linking errors
--->  Found 10 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     mumps @5.7.3_0+gfortran+mpich+openblas
--->  Computing dependencies for mumps
--->  Fetching distfiles for mumps
--->  Verifying checksums for mumps
--->  Extracting mumps
--->  Applying patches to mumps
--->  Configuring mumps
Error: mumps cannot be built while another version of mumps is active.
Error: Please forcibly deactivate the existing copy of mumps, e.g. by running:
Error: 
Error:     sudo port -f deactivate mumps
Error: 
Error: Then try again.
Error: Failed to configure mumps: mumps is active
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_mumps/mumps/main.log for details.
Error: rev-upgrade failed: Error rebuilding mumps
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.

comment:3 Changed 3 weeks ago by jmroot (Joshua Root)

Let me preface this by saying that a port declaring a build conflict with itself results in very bad UX and such cases should be fixed properly so manual intervention by the user isn't necessary.

The rebuild is being triggered by rev-upgrade, which can only detect broken linking in ports that are active. So by definition it can never rebuild any port that has a built conflict with itself. It would be good to see what exactly is broken, which will be shown by sudo port -dy rev-upgrade.

Because mumps is not outdated, running sudo port -f deactivate mumps and then sudo port install mumps will just reactivate the still-broken version that was already installed. To get a new build, you would have to run:

sudo port -f deactivate mumps
sudo port destroot mumps
sudo port -f uninstall mumps
sudo port -s install mumps

(explicit variant selection removed since +gfortran+mpich+openblas are the default variants.)

Last edited 3 weeks ago by jmroot (Joshua Root) (previous) (diff)

comment:4 Changed 3 weeks ago by jmroot (Joshua Root)

Cc: MarcusCalhoun-Lopez removed
Owner: set to MarcusCalhoun-Lopez
Status: newassigned
Summary: mumps upgrade from 5.7.3_0 fails to configuremumps @5.7.3_0+gfortran+mpich+openblas rev-upgrade fails due to self-conflict

comment:5 Changed 3 weeks ago by murrayE

Already these steps build and install mumps again:

sudo port -f deactivate mumps
sudo port destroot mumps +gfortran+mpich+openblas

So why would the additional steps below also be needed?

sudo port -f uninstall mumps
sudo port -s install mumps +gfortran+mpich+openblas
Note: See TracTickets for help on using tickets.