Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#54560 closed defect (fixed)

ncview and hdf5 install loop

Reported by: basmac Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mmoll@…, thiagoveloso@…
Port: ncview hdf5

Description (last modified by ryandesign (Ryan Carsten Schmidt))

on El Cap, no issue on Sierra for same installs, get infinite loop on ncview install/update, requests hdf5 deactivate, then keeps requesting it -

port -f deactivate hdf5
--->  Unable to deactivate hdf5 @1.10.1_1+cxx+hl, the following ports depend on it:
--->  	wgrib2 @2.0.5_3+gcc6
--->  	grads @2.0.2_13
--->  	grib_api @1.19.0_2+gcc6
--->  	py27-h5py @2.7.0_1
--->  	py27-tables @3.4.2_1
--->  	py34-tables @3.4.2_1
--->  	cdo @1.8.2_0
--->  	nco @4.6.6_2+accelerate
--->  	hdfeos5 @1.15_13
--->  	netcdf @4.4.1.1_0+dap+netcdf4
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Deactivating hdf5 @1.10.1_1+cxx+hl
--->  Cleaning hdf5
bash-3.2# port clean ncview
--->  Cleaning ncview
bash-3.2# port install ncview
--->  Computing dependencies for ncview
--->  Cleaning ncview
--->  Scanning binaries for linking errors
--->  Found 165 broken files, matching files to ports
--->  Found 12 broken ports, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt:
 py27-tables @3.4.2
 py34-tables @3.4.2
 netcdf @4.4.1.1+dap+netcdf4
 ncview @2.1.7
 grib_api @1.19.0+gcc6
 libemos @4.4.4+gcc5
 cdo @1.8.2
 nco @4.6.6+accelerate
 wgrib2 @2.0.5+gcc6
 grads @2.0.2
 py27-h5py @2.7.0
 py27-netcdf4 @1.2.9
Continue? [Y/n]: Y
--->  Computing dependencies for py27-tables
--->  Dependencies to be installed: hdf5
--->  Activating hdf5 @1.10.1_1+cxx+hl
--->  Cleaning hdf5
--->  Cleaning py27-tables
--->  Computing dependencies for py34-tables
--->  Cleaning py34-tables
--->  Computing dependencies for netcdf
--->  Cleaning netcdf
--->  Computing dependencies for ncview
--->  Cleaning ncview
--->  Computing dependencies for grib_api
--->  Cleaning grib_api
--->  Computing dependencies for libemos
--->  Cleaning libemos
--->  Computing dependencies for cdo
--->  Cleaning cdo
--->  Computing dependencies for nco
--->  Cleaning nco
--->  Computing dependencies for wgrib2
--->  Cleaning wgrib2
--->  Computing dependencies for grads
--->  Cleaning grads
--->  Computing dependencies for py27-h5py
--->  Cleaning py27-h5py
--->  Computing dependencies for py27-netcdf4
--->  Cleaning py27-netcdf4
--->  Scanning binaries for linking errors
--->  Found 2 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     ncview @2.1.7
--->  Computing dependencies for ncview
--->  Fetching distfiles for ncview
--->  Verifying checksums for ncview
--->  Extracting ncview
--->  Applying patches to ncview
--->  Configuring ncview
Error: ncview cannot be built while hdf5 is active.
Error: Please forcibly deactivate hdf5, e.g. by running:
Error:
Error:     sudo port -f deactivate hdf5
Error:
Error: Then try again. You can reactivate hdf5 again later.
Error: Failed to configure ncview: hdf5 is active
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_ncview/ncview/main.log for details.
Error: rev-upgrade failed: Error rebuilding ncview
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
--->  Some of the ports you installed have notes:
  hdf5 has the following notes:
    Mac users may need to set the environment variable "HDF5_USE_FILE_LOCKING" to the five-character string "FALSE" when accessing network mounted files.  This is an application run-time setting, not a configure or build setting.  Otherwise errors such as "unable to open file" or "HDF5
    error" may be  encountered.
bash-3.2#

Change History (6)

comment:1 Changed 7 years ago by raimue (Rainer Müller)

Keywords: ncview hdf5 removed

ncview is already installed, but it was determined to be broken. MacPorts does not know beforehand that ncview cannot be built with hdf5 active, but tries to fix other ports first that reactivate the hdf5 port. Please try this:

sudo port -f deactivate hdf5
sudo port -ns upgrade --force ncview

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

Description: modified (diff)

comment:3 Changed 7 years ago by basmac

Sorry my added comments don't seem to make it in, so will try again.
The ncview update will only occur when hdf5-18 is installed. Without it the above two port command just loop.
Here is the log when hdf5-18 is installed

bash-3.2# port install hdf5-18
--->  Computing dependencies for hdf5-18
--->  Fetching archive for hdf5-18
--->  Attempting to fetch hdf5-18-1.8.18_0+cxx+hl.darwin_15.x86_64.tbz2 from https://packages.macports.org/hdf5-18
--->  Attempting to fetch hdf5-18-1.8.18_0+cxx+hl.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/hdf5-18
--->  Installing hdf5-18 @1.8.18_0+cxx+hl
--->  Activating hdf5-18 @1.8.18_0+cxx+hl
--->  Cleaning hdf5-18
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
bash-3.2# port -ns upgrade --force ncview
--->  Computing dependencies for ncview
--->  Configuring ncview
Error: ncview cannot be built while hdf5 is active.
Error: Please forcibly deactivate hdf5, e.g. by running:
Error:
Error:     sudo port -f deactivate hdf5
Error:
Error: Then try again. You can reactivate hdf5 again later.
Error: Failed to configure ncview: hdf5 is active
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_ncview/ncview/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
bash-3.2# port -f deactivate hdf5
--->  Unable to deactivate hdf5 @1.10.1_1+cxx+hl, the following ports depend on it:
--->  	wgrib2 @2.0.5_3+gcc6
--->  	grads @2.0.2_13
--->  	grib_api @1.19.0_2+gcc6
--->  	py27-h5py @2.7.0_1
--->  	py27-tables @3.4.2_1
--->  	py34-tables @3.4.2_1
--->  	cdo @1.8.2_0
--->  	nco @4.6.6_2+accelerate
--->  	hdfeos5 @1.15_13
--->  	netcdf @4.4.1.1_0+dap+netcdf4
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Deactivating hdf5 @1.10.1_1+cxx+hl
--->  Cleaning hdf5
bash-3.2# port -ns upgrade --force ncview
--->  Computing dependencies for ncview
--->  Configuring ncview
--->  Building ncview
--->  Staging ncview into destroot
--->  Deactivating ncview @2.1.7_1
--->  Cleaning ncview
--->  Uninstalling ncview @2.1.7_1
--->  Cleaning ncview
--->  Computing dependencies for ncview
--->  Installing ncview @2.1.7_1
--->  Activating ncview @2.1.7_1
--->  Cleaning ncview
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  Found 163 broken files, matching files to ports
--->  Found 11 broken ports, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt:
 py27-tables @3.4.2
 py34-tables @3.4.2
 netcdf @4.4.1.1+dap+netcdf4
 grib_api @1.19.0+gcc6
 libemos @4.4.4+gcc5
 cdo @1.8.2
 nco @4.6.6+accelerate
 wgrib2 @2.0.5+gcc6
 grads @2.0.2
 py27-h5py @2.7.0
 py27-netcdf4 @1.2.9
Continue? [Y/n]: Y
--->  Computing dependencies for py27-tables
--->  Dependencies to be installed: hdf5
--->  Activating hdf5 @1.10.1_1+cxx+hl
--->  Cleaning hdf5
--->  Cleaning py27-tables
--->  Computing dependencies for py34-tables
--->  Cleaning py34-tables
--->  Computing dependencies for netcdf
--->  Cleaning netcdf
--->  Computing dependencies for grib_api
--->  Cleaning grib_api
--->  Computing dependencies for libemos
--->  Cleaning libemos
--->  Computing dependencies for cdo
--->  Cleaning cdo
--->  Computing dependencies for nco
--->  Cleaning nco
--->  Computing dependencies for wgrib2
--->  Cleaning wgrib2
--->  Computing dependencies for grads
--->  Cleaning grads
--->  Computing dependencies for py27-h5py
--->  Cleaning py27-h5py
--->  Computing dependencies for py27-netcdf4
--->  Cleaning py27-netcdf4
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  Some of the ports you installed have notes:
  hdf5 has the following notes:
    Mac users may need to set the environment variable "HDF5_USE_FILE_LOCKING" to the five-character string "FALSE" when accessing network mounted files.  This is an application run-time setting, not a configure or build setting.  Otherwise errors such as "unable to open file" or "HDF5
    error" may be  encountered.
bash-3.2#

comment:4 Changed 7 years ago by mf2k (Frank Schima)

This is probably unrelated, but your libemos port is built with gcc5, and gcc6 is the default now. The rest of your scientific ports are built with gcc6. I recommend building libemos with gcc6.

Something like this should work for this and others built with gcc5.

sudo port upgrade --enforce-variants installed -gcc5

comment:5 Changed 7 years ago by raimue (Rainer Müller)

Owner: set to raimue
Resolution: fixed
Status: newclosed

In 373105673340ba161fe1246949aa5bca370cfaf0/macports-ports:

ncview: Remove workaround for hdf5/hdf5-18

netcdf is now using hdf5, so this workaround is no longer necessary.

Closes: #54560

comment:6 Changed 7 years ago by basmac

Thanks for the -gcc5 command, I did have to install fftw-3 with +gcc6, it would not install via the command above, then libemos would upgrade using the above command.
port uninstall hdf5-18 successful
port rev-upgrade rebuilds ncview with no problem,
thanks to all
Note: See TracTickets for help on using tickets.