ContinuumIO / anaconda-issues

Anaconda issue tracking
648 stars 223 forks source link

Please recompile Mayavi with the recipe in AnacondaRecipes #9119

Open ccordoba12 opened 6 years ago

ccordoba12 commented 6 years ago

Actual Behavior

The mayavi package is broken because its dependency on VTK is not pinned. This is the recipe I got after installing it from the defaults channel

# This file created by conda-build 2.0.10+8.gccef906
# meta.yaml template originally from:
# /home/ilan/anaconda/packages/mayavi, last modified Wed Dec  7 09:10:41 2016
# ------------------------------------------------

package:
    name: mayavi
    version: 4.5.0
source:
    git_rev: 4.5.0
    git_url: https://github.com/enthought/mayavi.git
build:
    entry_points:
        - mayavi2 = mayavi.scripts.mayavi2:main
        - tvtk_doc = tvtk.tools.tvtk_doc:main
    osx_is_app: 'True'
requirements:
    build:
        - python
        - numpy
        - setuptools
        - vtk
        - traitsui
        - apptools
    run:
        - python
        - numpy
        - vtk
        - traitsui >=5.1
        - apptools >=4.4
        - envisage >=4.5
        - pyqt 4.*
test:
    commands:
        - mayavi2 --help
    imports:
        - tvtk
        - tvtk.array_ext
        - mayavi
about:
    description: 'MayaVi2 seeks to provide easy and interactive visualization of 3D
        data.

        '
    dev_url: https://github.com/enthought/mayavi
    doc_url: http://docs.enthought.com/mayavi/mayavi/
    home: https://github.com/enthought/mayavi
    license: BSD
    license_file: LICENSE.txt
    summary: The Mayavi scientific data 3-dimensional visualizers

and this is the one in conda-forge and AnacondaRecipes

{% set version = "4.5.0" %}

package:
  name: mayavi
  version: {{ version }}

source:
  fn: mayavi-{{ version }}.tar.gz
  url: https://github.com/enthought/mayavi/archive/{{ version }}.tar.gz
  sha256: 36f688b3ea542e9f8cc0d7faa25e1425723cd00acc8aa640169029f33679ab85

build:
  number: 3
  features:
    - vc9  # [win and py27]
    - vc14  # [win and py35]
    - vc14  # [win and py36]
  entry_points:
    - mayavi2 = mayavi.scripts.mayavi2:main
    - tvtk_doc = tvtk.tools.tvtk_doc:main
  skip: True  # [osx]

requirements:
  build:
    - toolchain
    - python
    - numpy 1.8.*   # [not (win and (py35 or py36))]
    - numpy 1.9.*   # [win and py35]
    - numpy 1.11.*  # [win and py36]
    - setuptools
    - vtk 7.1.*
    - traitsui
    - apptools
  run:
    - python
    - numpy >=1.8   # [not (win and (py35 or py36))]
    - numpy >=1.9   # [win and py35]
    - numpy >=1.11  # [win and py36]
    - vtk 7.1.*
    - traitsui
    - apptools
    - envisage
    - pyqt 4.*
    - setuptools

test:
  commands:
    - mayavi2 --help
  imports:
    - tvtk
    - tvtk.array_ext
    - mayavi

about:
  home: https://github.com/enthought/mayavi
  license: BSD-3-Clause
  license_family: BSD
  license_file: LICENSE.txt
  summary: The Mayavi scientific data 3-dimensional visualizers
  doc_url: http://docs.enthought.com/mayavi/mayavi
  dev_url: https://github.com/enthought/mayavi

extra:
  recipe-maintainers:
    - msarahan
    - grlee77
    - hadim
    - dfroger
    - cadair

As you can see, conda-forge correctly pins VTK to 7.1. I did a quick look and it seems VTK 8 is not supported yet by Mayavi, so this pin needs to be respected.

Steps to Reproduce

conda install mayavi

and see how VTK 8 is pulled, while it should be 7.1. Try to plot something with Mayavi to find that it's broken.


Pinging the usual suspects: @jjhelmus, @mingwandroid and @nehaljwani.

mingwandroid commented 6 years ago

and see how VTK 8 is pulled, while it should be 7.1. Try to plot something with Mayavi to find that it's broken.

Well, Anaconda Defaults does not have any vtk 7.1 packages at all (just some 5 and 6 ones on the old free channel and now 8.1 on the new main channel) and I am little cautious about trying to fix a package that needs Qt 4 at this stage (we provide Qt 5.9.4 nowadays), and of hotfixing anything on the old free channel.

I did test on macOS that:

conda create -n mayavi mayavi vtk=6

.. works and mayavi at least launches though I think things would fail as soon as you try to mix more modern software in the same env (or heavens forbid, mix this ancient software in your base env!).

Carlos, do you have any idea when 8.1 will be supported?

What does everyone else think?

ccordoba12 commented 6 years ago

conda create -n mayavi mayavi vtk=6

Confirmed, that works. So what if you just change the pinning to vtk 6* for now in the Mayavi package?

Carlos, do you have any idea when 8.1 will be supported?

It seems it'll work with Mayavi 4.5.1, but I don't know when that version is going to be released.