Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#59185 closed defect (fixed)

openmpi-gcc7 is rebuilt over and over

Reported by: EJFielding (Eric Fielding) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.6.1
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: openmpi-gcc7, openmpi-gcc9

Description

I am using the usual migration procedure to install all my ports after moving to a new MacBook running Mojave. The "restore_ports.tcl" script grouped all the ports that depend on openmpi to the end and now it is rebuilding openmpi-gcc7 over and over as part of the dependency for each port.

...
--->  Computing dependencies for py36-numexpr
--->  Fetching archive for py36-numexpr
--->  Attempting to fetch py36-numexpr-2.7.0_0.darwin_18.x86_64.tbz2 from https://packages.macports.org/py36-numexpr
--->  Attempting to fetch py36-numexpr-2.7.0_0.darwin_18.x86_64.tbz2.rmd160 from https://packages.macports.org/py36-numexpr
--->  Installing py36-numexpr @2.7.0_0
--->  Cleaning py36-numexpr
--->  Computing dependencies for py36-numexpr
--->  Activating py36-numexpr @2.7.0_0
--->  Cleaning py36-numexpr
--->  Computing dependencies for openmpi-gcc7
--->  Fetching distfiles for openmpi-gcc7
--->  Verifying checksums for openmpi-gcc7
--->  Extracting openmpi-gcc7
--->  Applying patches to openmpi-gcc7
--->  Configuring openmpi-gcc7
--->  Building openmpi-gcc7
--->  Staging openmpi-gcc7 into destroot
--->  Unable to uninstall openmpi-gcc7 @4.0.1_0+fortran, the following ports depend on it:
--->  	hdf5 @1.10.5_0+cxx+gcc7+hl+openmpi
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Uninstalling openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Computing dependencies for openmpi-gcc7
--->  Installing openmpi-gcc7 @4.0.1_0+fortran
--->  Activating openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Computing dependencies for py36-tables
--->  Fetching archive for py36-tables
--->  Attempting to fetch py36-tables-3.5.2_0.darwin_18.x86_64.tbz2 from https://packages.macports.org/py36-tables
--->  Attempting to fetch py36-tables-3.5.2_0.darwin_18.x86_64.tbz2.rmd160 from https://packages.macports.org/py36-tables
--->  Installing py36-tables @3.5.2_0
--->  Activating py36-tables @3.5.2_0
--->  Cleaning py36-tables
--->  Computing dependencies for openmpi-gcc7
--->  Fetching distfiles for openmpi-gcc7
--->  Verifying checksums for openmpi-gcc7
--->  Extracting openmpi-gcc7
--->  Applying patches to openmpi-gcc7
--->  Configuring openmpi-gcc7
--->  Building openmpi-gcc7
--->  Staging openmpi-gcc7 into destroot
--->  Unable to uninstall openmpi-gcc7 @4.0.1_0+fortran, the following ports depend on it:
--->  	hdf5 @1.10.5_0+cxx+gcc7+hl+openmpi
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Uninstalling openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Computing dependencies for openmpi-gcc7
--->  Installing openmpi-gcc7 @4.0.1_0+fortran
--->  Activating openmpi-gcc7 @4.0.1_0+fortran
--->  Cleaning openmpi-gcc7
--->  Computing dependencies for gdal
--->  Fetching archive for gdal
--->  Attempting to fetch gdal-3.0.1_2+hdf5+netcdf+openmpi.darwin_18.x86_64.tbz2 from https://packages.macports.org/gdal
--->  Attempting to fetch gdal-3.0.1_2+hdf5+netcdf+openmpi.darwin_18.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/gdal
--->  Attempting to fetch gdal-3.0.1_2+hdf5+netcdf+openmpi.darwin_18.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/gdal
--->  Fetching distfiles for gdal
--->  Attempting to fetch gdal-3.0.1.tar.gz from https://distfiles.macports.org/gdal
--->  Verifying checksums for gdal
--->  Extracting gdal
--->  Applying patches to gdal
--->  Configuring gdal
--->  Building gdal
--->  Staging gdal into destroot
--->  Installing gdal @3.0.1_2+hdf5+netcdf+openmpi
--->  Cleaning gdal
--->  Computing dependencies for gdal
--->  Activating gdal @3.0.1_2+hdf5+netcdf+openmpi
--->  Cleaning gdal
--->  Computing dependencies for openmpi-gcc7
--->  Fetching distfiles for openmpi-gcc7
--->  Verifying checksums for openmpi-gcc7
--->  Extracting openmpi-gcc7
--->  Applying patches to openmpi-gcc7
--->  Configuring openmpi-gcc7

This continued for another two hours of rebuilding.

Attachments (1)

openmpi-gcc-broken.txt (100.7 KB) - added by EJFielding (Eric Fielding) 5 years ago.
output of port -d -y rev-upgrade

Download all attachments as: .zip

Change History (9)

comment:1 Changed 5 years ago by EJFielding (Eric Fielding)

I stopped the restore_ports script and tried to install the "gmt5" port with the "+gdal" variant that then depends on openmpi. Now I see that it found that both openmpi-gcc9 and openmpi-gcc7 ports are broken.

sudo port install gmt5 +gdal+nonfree+pcre
--->  Computing dependencies for gmt5
--->  Cleaning gmt5
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  Found 2 broken ports, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt:
 openmpi-gcc9 @4.0.1+fortran
 openmpi-gcc7 @4.0.1+fortran
Continue? [Y/n]: Y
--->  Computing dependencies for openmpi-gcc9
--->  Fetching distfiles for openmpi-gcc9
--->  Verifying checksums for openmpi-gcc9
--->  Extracting openmpi-gcc9
--->  Applying patches to openmpi-gcc9
--->  Configuring openmpi-gcc9

comment:2 Changed 5 years ago by EJFielding (Eric Fielding)

Port: openmpi-gcc9 added

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

Can you tell us (by showing us the output of running sudo port -d rev-upgrade in what way those ports are broken?

Changed 5 years ago by EJFielding (Eric Fielding)

Attachment: openmpi-gcc-broken.txt added

output of port -d -y rev-upgrade

comment:4 Changed 5 years ago by EJFielding (Eric Fielding)

I put the output of 'port -d -y rev-upgrade' into a file and attached it, as it is very long.

comment:5 Changed 5 years ago by EJFielding (Eric Fielding)

Maybe this is a clue in the debug output:

openmpi-gcc9 is using libstdc++ (this installation is configured to use libc++)
openmpi-gcc7 is using libstdc++ (this installation is configured to use libc++)
--->  Found 2 broken ports, determining rebuild order
DEBUG: Broken: openmpi-gcc9
DEBUG: Broken: openmpi-gcc7

comment:6 Changed 5 years ago by jmroot (Joshua Root)

Cc: MarcusCalhoun-Lopez added

Could be due to changes in the compiler selection process. Marcus, what's the intended way for configure.cxx_stdlib to be set correctly for ports like these?

Last edited 5 years ago by jmroot (Joshua Root) (previous) (diff)

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

Owner: set to MarcusCalhoun-Lopez
Resolution: fixed
Status: newclosed

In 31b04db7a19d7d0b5b9952943094cbca2620723e/macports-ports (master):

mpich, openmpi: set c++ stdlib for GCC sub-ports

Fixes #59185

comment:8 Changed 5 years ago by EJFielding (Eric Fielding)

Thanks Marcus and Joshua!

I ran a port selfupdate and port rev-upgrade and it rebuilt both openmpi-gcc9 and openmpi-gcc7 with no further problems.

Note: See TracTickets for help on using tickets.