Opened 4 years ago

Closed 2 years ago

#62507 closed defect (fixed)

Error: Can't install sundials because conflicting ports are active: sundials2

Reported by: dbl001 (dbl) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), robwgla, Schamschula (Marius Schamschula), cooljeanius (Eric Gallager)
Port: sundials sundials2

Description

Catalina 10.15.7

$ sudo port upgrade outdated
Password:
--->  Computing dependencies for ocaml-dune
--->  Fetching archive for ocaml-dune
--->  Attempting to fetch ocaml-dune-2.8.4_0.darwin_19.x86_64.tbz2 from https://mse.uk.packages.macports.org/ocaml-dune
--->  Attempting to fetch ocaml-dune-2.8.4_0.darwin_19.x86_64.tbz2 from https://cph.dk.packages.macports.org/ocaml-dune
--->  Attempting to fetch ocaml-dune-2.8.4_0.darwin_19.x86_64.tbz2 from https://packages.macports.org/ocaml-dune
--->  Fetching distfiles for ocaml-dune
--->  Attempting to fetch dune-2.8.4.tar.gz from https://github.com/ocaml/dune/tarball/2.8.4
--->  Verifying checksums for ocaml-dune                                        
--->  Extracting ocaml-dune
--->  Applying patches to ocaml-dune
--->  Configuring ocaml-dune
--->  Building ocaml-dune
--->  Staging ocaml-dune into destroot
--->  Installing ocaml-dune @2.8.4_0
--->  Cleaning ocaml-dune
--->  Computing dependencies for ocaml-dune
--->  Deactivating ocaml-dune @1.11.2_0
--->  Cleaning ocaml-dune
--->  Activating ocaml-dune @2.8.4_0
--->  Cleaning ocaml-dune
--->  Computing dependencies for sundials
Error: Can't install sundials because conflicting ports are active: sundials2
Error: Problem while installing sundials
Error: Follow https://guide.macports.org/#project.tickets to report a bu

Change History (10)

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

Cc: MarcusCalhoun-Lopez added

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

The message is clear. sundials and sundials2 conflict. Please choose which one you would like to use and remove the other.

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

Keywords: sundials removed

comment:4 Changed 4 years ago by dbl001 (dbl)

Something is wrong. Any recommendations?

$ port deps sundials2
Full Name: sundials2 @2.7.0_3+accelerate+gfortran+mpich
Build Dependencies:   cmake, gcc10
Library Dependencies: SuiteSparse_KLU, libgcc, libgcc10, mpich-default
$ port deps sundials
Full Name: sundials @5.7.0_0+accelerate+gfortran+mpich
Build Dependencies:   cmake, gcc10
Library Dependencies: SuiteSparse_KLU, libgcc, libgcc10, mpich-default
$ sudo port uninstall sundials
$ sudo port list sundials
sundials                       @5.7.0          math/sundials
$ sudo port uninstall sundials -v
$ port info sundials
sundials @5.7.0 (math, devel)
Variants:             [+]accelerate, atlas, clang10, clang11, clang50, clang60,
                      clang70, clang80, clang90, clangdevel, debug, doc,
                      examples, g95, gcc10, gcc5, gcc6, gcc7, gcc8, gcc9,
                      gccdevel, [+]gfortran, [+]mpich, openblas, openmpi,
                      universal

Description:          SUNDIALS consists of the following five solvers: CVODE
                      solves initial value problems for ordinary differential
                      equation (ODE) systems. CVODES solves ODE systems and
                      includes sensitivity analysis capabilities (forward and
                      adjoint). IDA solves initial value problems for
                      differential-algebraic equation (DAE) systems. IDAS solves
                      DAE systems and includes sensitivity analysis capabilities
                      (forward and adjoint). KINSOL solves nonlinear algebraic
                      systems.
Homepage:             https://computation.llnl.gov/projects/sundials

Build Dependencies:   cmake, gcc10
Library Dependencies: SuiteSparse_KLU, libgcc, libgcc10, mpich-default
Conflicts with:       sundials2
Platforms:            darwin
License:              BSD
Maintainers:          none
$ sudo port -v uninstall sundials
Password:
sundials is not installed
$ sudo port -v list sundials
sundials                       @5.7.0          math/sundials
$ sudo port upgrade outdated
--->  Computing dependencies for sundials
Error: Can't install sundials because conflicting ports are active: sundials2
Error: Problem while installing sundials
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

comment:5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: robwgla Schamschula added

Has duplicate #62529.

@dbl001, I'm not sure what you're trying to show us with that terminal output. Perhaps a source of confusion is that port list shows you what is available, not what is installed. To see what is installed, use port installed. Perhaps an additional source of confusion is that port deps shows you a port's dependencies, not its dependents. To show dependents, use the depends: selector:

$ port installed depends:sundials2
The following ports are currently installed:
  octave @6.2.0_0+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials (active)

I suspect that what has happened is that you both have octave installed, and in version @6.2.0_1 octave changed from using sundials2 to sundials. A simple attempt to upgrade octave would therefore fail because you already have sundials2 installed and therefore cannot install octave's new dependency sundials because of the conflict.

Assuming you have no other ports installed that depend on sundials2, you could deactivate the old octave and its sundials2 dependency:

sudo port deactivate octave sundials2

Then you can upgrade octave which will install its new sundials dependency:

sudo port upgrade octave
Version 0, edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (next)

comment:6 Changed 4 years ago by dbl001 (dbl)

I suspect that what has happened is that you both have octave installed, and in version @6.2.0_1 octave changed from using sundials2 to sundials. A simple attempt to upgrade octave would therefore fail because you already have sundials2 installed and therefore cannot install octave's new dependency sundials because of the conflict.

That is correct. It's resolved.

Thanks!

comment:7 in reply to:  5 Changed 4 years ago by robwgla

Replying to ryandesign:

Has duplicate #62529.

...

Assuming you have no other ports installed that depend on sundials2, you could deactivate the old octave and its sundials2 dependency:

sudo port -f deactivate octave sundials2

Then you can upgrade octave which will install its new sundials dependency:

sudo port upgrade octave

The proposed solution worked for me. Thanks.

comment:8 Changed 4 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:9 Changed 3 years ago by cooljeanius (Eric Gallager)

So... somehow this conflict got ignored, and I managed to get both sundials ports installed simultaneously? I get a failure on activation now instead:

x ./opt/local/include/cvode/cvode_sptfqmr.h
DEBUG: Image error: /opt/local/include/arkode/arkode.h is being used by the active sundials port.  Please deactivate this port first, or use 'port -f activate sundials2' to force the activation.
    invoked from within
"throw registry::image-error "Image error: $file is being used by the active [$owner name] port.  Please deactivate this port first, or use 'port -f ac..."
    ("foreach" body line 45)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
    invoked from within
"try {
        registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be ..."
    (procedure "_activate_contents" line 21)
    invoked from within
"_activate_contents $requested $rename_list"
    (procedure "activate" line 63)
    invoked from within
"activate $name "" "" 0 $optionslist"
    (procedure "portimage::activate_composite" line 3)
    invoked from within
"portimage::activate_composite $portname $composite_version [array get options]"
Error: port activate failed: Image error: /opt/local/include/arkode/arkode.h is being used by the active sundials port.  Please deactivate this port first, or use 'port -f activate sundials2' to force the activation.

comment:10 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: newclosed

The various sundials ports are now segregated, eliminating these headaches. Fixed per issue:63631

Note: See TracTickets for help on using tickets.