<div dir="ltr">Sounds like a plan.<div><br></div><div>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.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 29, 2019 at 4:55 PM David E DeMarle <<a href="mailto:dave.demarle@kitware.com">dave.demarle@kitware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div dir="ltr" class="gmail-m_6451772114277420312gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>So <a href="https://gitlab.kitware.com/vtk/vtk/merge_requests/5021" target="_blank">https://gitlab.kitware.com/vtk/vtk/merge_requests/5021</a> which makes vtkPython optional is necessary but there is more work to be done.</div><div>We also need <a href="https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2" target="_blank">https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2</a> or something like it to put the .py's and .so's into the places that auditwheel expects to find them.<br></div><div>Then we can make a wheel.</div><div><br></div><div>However we still need run time changes so that python and library paths cope with the new intermediary vtkmodules directory (see <a href="https://gitlab.kitware.com/vtk/vtk/commits/741fffb" target="_blank">https://gitlab.kitware.com/vtk/vtk/commits/741fffb</a>). 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.</div><div><br></div><div>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?</div><div><br></div><div>David E DeMarle<br>Kitware, Inc.<br>Principal Engineer</div></div></div></div></div></div></div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 3, 2019 at 11:25 AM David E DeMarle <<a href="mailto:dave.demarle@kitware.com" target="_blank">dave.demarle@kitware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">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.<div><br></div><div>My WIP branch: <a href="https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2" target="_blank">https://github.com/demarle/VTKPythonPackage/tree/bump-to-8.2</a></div><div>Results in:</div><div><div>running clean</div><div>removing '_skbuild/linux-x86_64-3.6/cmake-install'</div><div>removing '_skbuild/linux-x86_64-3.6/cmake-build'</div><div>removing '_skbuild/linux-x86_64-3.6'</div><div>+ find /work/VTK-cp36-cp36m-manylinux1_x64 -name '*.o' -delete</div><div>++ uname -p</div><div>+ for whl in 'dist/*linux_$(uname -p).whl'</div><div>+ auditwheel repair dist/vtk-8.2.0rc2-cp36-cp36m-linux_x86_64.whl --lib-sdir . -w /work/dist/</div><div>Repairing vtk-8.2.0rc2-cp36-cp36m-linux_x86_64.whl</div><div>Traceback (most recent call last):</div><div> File "/usr/local/bin/auditwheel", line 11, in <module></div><div> sys.exit(main())</div><div> File "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/main.py", line 49, in main</div><div> rval = args.func(args, p)</div><div> File "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/main_repair.py", line 77, in execute</div><div> update_tags=args.UPDATE_TAGS)</div><div> File "/opt/_internal/cpython-3.6.7/lib/python3.6/site-packages/auditwheel/repair.py", line 82, in repair_wheel</div><div> soname)</div><div>ValueError: Cannot repair wheel, because required library "libvtkImaging-8.2.so.1" could not be located</div><div><br></div><div>Where the specific library changes each run. On the same machine, running master of VTKPyPackage (so vtk 8.1.2) works fine.</div><div><br></div><div><div><div dir="ltr" class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602m_7714203801861821571gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>David E DeMarle<br>Kitware, Inc.<br>Principal Engineer</div></div></div></div></div></div></div></div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 2, 2019 at 10:17 PM Prabhu Ramachandran <<a href="mailto:prabhu@aero.iitb.ac.in" target="_blank">prabhu@aero.iitb.ac.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix">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?<br>
</div>
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix"><br>
</div>
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix">Regards,</div>
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix">Prabhu</div>
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix"><br>
</div>
<div class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-cite-prefix">On 1/3/19 3:00 AM, Matt McCormick
wrote:<br>
</div>
<blockquote type="cite">
<pre class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-quote-pre">On Wed, Jan 2, 2019 at 4:13 PM David E DeMarle via vtk-developers
<a class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-txt-link-rfc2396E" href="mailto:vtk-developers@vtk.org" target="_blank"><vtk-developers@vtk.org></a> wrote:
</pre>
<blockquote type="cite">
<pre class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-quote-pre">I've been holding off 8.2.0.final to get a better handle on wheel building.
Please review the potential fix in: <a class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-txt-link-freetext" href="https://gitlab.kitware.com/vtk/vtk/merge_requests/5021" target="_blank">https://gitlab.kitware.com/vtk/vtk/merge_requests/5021</a>
</pre>
</blockquote>
<pre class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-quote-pre">Excellent, thanks!
This looks good to me.
</pre>
<blockquote type="cite">
<pre class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-quote-pre">@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?
</pre>
</blockquote>
<pre class="gmail-m_6451772114277420312gmail-m_-950781021550365312gmail-m_-8828883524320862366gmail-m_322607814226717602gmail-m_7714203801861821571gmail-m_-8823732897263007877moz-quote-pre">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
</pre>
</blockquote>
<p><br>
</p>
</div>
</blockquote></div>
</blockquote></div>
</blockquote></div>