Opened 2 years ago

Last modified 2 years ago

#65326 new defect

py-mayavi: dependency resolution does not install correct vtk variant

Reported by: p-bro Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jjstickel (Jonathan Stickel), stromnov (Andrey Stromnov), rubendibattista (Ruben Di Battista)
Port: py-mayavi

Description

Hi,

I just attempted to install py-mayavi. As my default variant is py39, this then attempted to install py39-mayavi, and a list of dependencies:

The following dependencies will be installed: 
 eigen3
 gl2ps
 jsoncpp
 libharu
 netcdf-cxx
 py39-alabaster
 py39-apptools
 py39-babel
 py39-configobj
 py39-envisage
 py39-imagesize
 py39-mayavi
 py39-pyface
 py39-snowballstemmer
 py39-sphinx
 py39-sphinxcontrib-applehelp
 py39-sphinxcontrib-devhelp
 py39-sphinxcontrib-htmlhelp
 py39-sphinxcontrib-jsmath
 py39-sphinxcontrib-qthelp
 py39-sphinxcontrib-serializinghtml
 py39-traits
 py39-traitsui
 sphinx_select
 vtk

However, the final installation of py39-mayavi failed with the error message:

--->  Fetching archive for py39-mayavi
--->  Attempting to fetch py39-mayavi-4.7.4_0.darwin_19.x86_64.tbz2 from https://packages.macports.org/py39-mayavi
--->  Attempting to fetch py39-mayavi-4.7.4_0.darwin_19.x86_64.tbz2 from https://mse.uk.packages.macports.org/py39-mayavi
--->  Attempting to fetch py39-mayavi-4.7.4_0.darwin_19.x86_64.tbz2 from https://ema.uk.packages.macports.org/py39-mayavi
--->  Fetching distfiles for py39-mayavi
--->  Attempting to fetch mayavi-4.7.4.tar.gz from https://distfiles.macports.org/py-mayavi
--->  Verifying checksums for py39-mayavi                                            
--->  Extracting py39-mayavi
--->  Configuring py39-mayavi
Error: Failed to configure py39-mayavi: vtk must be installed with +python39.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-mayavi/py39-mayavi/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port py-mayavi failed

My expectation would be that ports manages to recongise it needs vtk+python39, if vtk isn't installed yet.

The same happens, if one explicity installs py39-mayavi - it still does not install the right variant of vtk.

A log of the install attempt is attached.

Attachments (1)

install_py-mayavi.log (377.4 KB) - added by p-bro 2 years ago.
py-mayavi install log

Download all attachments as: .zip

Change History (5)

Changed 2 years ago by p-bro

Attachment: install_py-mayavi.log added

py-mayavi install log

comment:1 Changed 2 years ago by jmroot (Joshua Root)

Cc: stromnov rubendibattista added
Port: py39-mayavi removed

It's not possible for a port to depend on a specific variant of another port. A corollary to this is that a variant should not add anything that some other port might want to depend on. The message printed by py39-mayavi is there to alert you to this unfortunate situation so it can at least be fixed manually. Ideally, the python-related components of VTK would be installed by separate ports or subports, one per python version.

comment:2 Changed 2 years ago by p-bro

That is unfortunate - it also means I cannot maintain multiple python versions of py-mayavi as easily, as that requires activation and deactivation of the various vtk +pythonXX variants...

comment:3 Changed 2 years ago by jjstickel (Jonathan Stickel)

See #126. Extending the logic from that ticket, this one should be closed as won't fix.

comment:4 Changed 2 years ago by jmroot (Joshua Root)

Or it could be considered an enhancement request for vtk.

Note: See TracTickets for help on using tickets.