[vtk-developers] vtk-8.2.0-rc2 problem building wheels

Matt McCormick matt.mccormick at kitware.com
Tue Jan 29 17:59:37 EST 2019


Sounds like a plan.

The easiest approach that faciliates cross-platform library loading in the
wheel is to place the libraries and the C-extension binaries in the same
directory, if possible.

On Tue, Jan 29, 2019 at 4:55 PM David E DeMarle <dave.demarle at kitware.com>
wrote:

> So https://gitlab.kitware.com/vtk/vtk/merge_requests/5021 which makes
> vtkPython optional is necessary but there is more work to be done.
> We also need https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2
> or something like it to put the .py's and .so's into the places that
> auditwheel expects to find them.
> Then we can make a wheel.
>
> However we still need run time changes so that python and library paths
> cope with the new intermediary vtkmodules directory (see
> https://gitlab.kitware.com/vtk/vtk/commits/741fffb). Specifically the
> code in vtk/vtk.py isn't loaded automatically like vtk/__init__.py would be
> and it when I force it there are still path issues that I can thus far only
> work around with hacks like extending LD_LIBRARY_PATH.
>
> It looks doable from 8.2.0 but I'm out of time on this. So I suggest we
> release 8.2.0 as it is and fix it, if required in 8.2.1. OK?
>
> David E DeMarle
> Kitware, Inc.
> Principal Engineer
>
>
> On Thu, Jan 3, 2019 at 11:25 AM David E DeMarle <dave.demarle at kitware.com>
> wrote:
>
>> Yes please do give it a try. Note : I am running into other issues making
>> the wheels for 8.2.0. If I could get you and/or JC to take a look it would
>> be great.
>>
>> My WIP branch:
>> https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2
>> Results in:
>> running clean
>> removing '_skbuild/linux-x86_64-3.6/cmake-install'
>> removing '_skbuild/linux-x86_64-3.6/cmake-build'
>> removing '_skbuild/linux-x86_64-3.6'
>> + find /work/VTK-cp36-cp36m-manylinux1_x64 -name '*.o' -delete
>> ++ uname -p
>> + for whl in 'dist/*linux_$(uname -p).whl'
>> + auditwheel repair dist/vtk-8.2.0rc2-cp36-cp36m-linux_x86_64.whl
>> --lib-sdir . -w /work/dist/
>> Repairing vtk-8.2.0rc2-cp36-cp36m-linux_x86_64.whl
>> Traceback (most recent call last):
>>   File "/usr/local/bin/auditwheel", line 11, in <module>
>>     sys.exit(main())
>>   File
>> "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/main.py",
>> line 49, in main
>>     rval = args.func(args, p)
>>   File
>> "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/main_repair.py",
>> line 77, in execute
>>     update_tags=args.UPDATE_TAGS)
>>   File
>> "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/repair.py",
>> line 82, in repair_wheel
>>     soname)
>> ValueError: Cannot repair wheel, because required library
>> "libvtkImaging-8.2.so.1" could not be located
>>
>> Where the specific library changes each run. On the same machine, running
>> master  of VTKPyPackage (so vtk 8.1.2) works fine.
>>
>> David E DeMarle
>> Kitware, Inc.
>> Principal Engineer
>>
>>
>> On Wed, Jan 2, 2019 at 10:17 PM Prabhu Ramachandran <
>> prabhu at aero.iitb.ac.in> wrote:
>>
>>> Sorry I dropped off the radar.  I have been traveling and my semester
>>> starts today.  I can try this weekend and test it out.  Does that work?
>>>
>>> Regards,
>>> Prabhu
>>>
>>> On 1/3/19 3:00 AM, Matt McCormick wrote:
>>>
>>> On Wed, Jan 2, 2019 at 4:13 PM David E DeMarle via vtk-developers<vtk-developers at vtk.org> <vtk-developers at vtk.org> wrote:
>>>
>>> I've been holding off 8.2.0.final to get a better handle on wheel building.
>>>
>>> Please review the potential fix in: https://gitlab.kitware.com/vtk/vtk/merge_requests/5021
>>>
>>> Excellent, thanks!
>>>
>>> This looks good to me.
>>>
>>>
>>>
>>> @Prabhu Ramachandran, @Jean-Christophe Fillion-Robin building the wheels seem to be OK off of this on my desktop. How do I locally test their validity?
>>>
>>> Create a virtualenv, make sure pip can recognize and install the wheel
>>> from the local directory, and test it on VTK examples. For example,
>>>
>>>   python3 -m venv test-venv
>>>   ./test-venv/bin/python -m pip install --upgrade pip
>>>   ./test-venv/bin/python -m pip install numpy
>>>   # dist/ contains the generated vtk-8.2.0-cp36-cp36m-manylinux1_x86_64.whl
>>>   ./test-venv/bin/python -m pip install vtk --no-cache-dir --no-index -f ./dist/
>>>   ./test-venv/bin/python /path/to/vtk/script.py
>>>
>>>
>>> HTH,
>>> Matt
>>>
>>>
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://vtk.org/pipermail/vtk-developers/attachments/20190129/d40d8096/attachment-0001.html>


More information about the vtk-developers mailing list