conda-forge / vtk-feedstock

A conda-smithy repository for vtk.
BSD 3-Clause "New" or "Revised" License
13 stars 64 forks source link

Fix version number in egg-info file for Windows + Build pyi files #271

Closed mwtoews closed 1 year ago

mwtoews commented 1 year ago

Checklist

Closes #234 Closes #268

conda-forge-linter commented 1 year ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

mwtoews commented 1 year ago

@conda-forge-admin, please rerender

mwtoews commented 1 year ago

Also set DVTK_BUILD_PYI_FILES:BOOL=ON to fix #268

mwtoews commented 1 year ago

There is an error with the Windows builds:

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - found
-- Found Threads: TRUE  
CMake Error at Common/Core/CMakeLists.txt:362 (message):
  Failed to determine the thread implementation in use by the compiler.

A possibly related issue was raised upstream a year ago: https://gitlab.kitware.com/vtk/vtk/-/issues/18281

Tobias-Fischer commented 1 year ago

Can we simply patch the relevant cmake part in vtk and set set(CMAKE_USE_PTHREADS_INIT 0) set(CMAKE_USE_WIN32_THREADS_INIT 1) as described in the issue?

Tobias-Fischer commented 1 year ago

@conda-forge-admin please restart ci

Tobias-Fischer commented 1 year ago

The problem seems to be that the pthreads-win32 is being installed in these builds, whereas it was not installed in previous builds. Now I assume there are multiple thread implementations and cmake is getting confused.

Tobias-Fischer commented 1 year ago

Hmm I'm not sure what's going on when cross-compiling:

2023-01-03T04:35:37.4141709Z [2928/9487] : && $BUILD_PREFIX/bin/aarch64-conda-linux-gnu-c++ -fPIC -fvisibility-inlines-hidden -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/vtk-9.2.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix  -O3 -DNDEBUG  -Wl,-lc  -Wl,-lc -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib -shared  -o lib/python3.9/site-packages/vtkmodules/vtkCommonCore.so CMakeFiles/vtkCommonCorePython.dir/CMakeFiles/vtkCommonCorePython/vtkABIPython.cxx.o CMakeFiles/vtkCommonCorePython.dir/CMakeFiles/vtkCommonCorePython/vtkArrayIteratorIncludesPython.cxx.o 
...
023-01-03T05:13:00.7198723Z cd $SRC_DIR/build/lib/python3.9/site-packages && $PREFIX/bin/python -m vtkmodules.generate_pyi -p vtkmodules -o $SRC_DIR/build/lib/python3.9/site-packages/vtkmodules vtkCommonCore vtkWebCore vtkCommonMath vtkCommonTransforms vtkCommonDataModel vtkCommonExecutionModel vtkIOCore vtkImagingCore vtkIOImage vtkIOXMLParser vtkIOXML vtkCommonMisc vtkFiltersCore vtkRenderingCore vtkRenderingContext2D vtkRenderingFreeType vtkRenderingSceneGraph vtkRenderingVtkJS vtkIOExport vtkWebGLExporter vtkInteractionStyle vtkFiltersGeneral vtkFiltersSources vtkInteractionWidgets vtkViewsCore vtkViewsInfovis vtkCommonColor vtkViewsContext2D vtkTestingRendering vtkRenderingLabel vtkRenderingQt vtkPythonContext2D vtkImagingMath vtkRenderingHyperTreeGrid vtkRenderingUI vtkRenderingOpenGL2 vtkRenderingVolume vtkRenderingVolumeOpenGL2 vtkRenderingMatplotlib vtkRenderingLOD vtkRenderingLICOpenGL2 vtkRenderingImage vtkRenderingContextOpenGL2 vtkIOLegacy vtkIOXdmf2 vtkIOVeraOut vtkIOTecplotTable vtkIOSegY vtkIOXdmf3 vtkIOParallelXML vtkIOPLY vtkIOMovie vtkIOOggTheora vtkIONetCDF vtkIOMotionFX vtkIOGeometry vtkIOParallel vtkIOMINC vtkIOLSDyna vtkIOInfovis vtkIOImport vtkParallelCore vtkIOIOSS vtkIOVideo vtkIOFFMPEG vtkIOExportPDF vtkRenderingGL2PSOpenGL2 vtkIOExportGL2PS vtkIOExodus vtkIOEnSight vtkIOCityGML vtkIOChemistry vtkIOCesium3DTiles vtkIOCONVERGECFD vtkIOHDF vtkIOCGNSReader vtkIOAsynchronous vtkIOAMR vtkInteractionImage vtkImagingStencil vtkImagingStatistics vtkImagingGeneral vtkImagingMorphological vtkImagingFourier vtkIOSQL vtkImagingSources vtkInfovisCore vtkGeovisCore vtkInfovisLayout vtkRenderingAnnotation vtkImagingHybrid vtkImagingColor vtkFiltersTopology vtkFiltersSelection vtkFiltersSMP vtkFiltersPython vtkFiltersProgrammable vtkFiltersModeling vtkFiltersPoints vtkFiltersVerdict vtkFiltersStatistics vtkFiltersImaging vtkFiltersExtraction vtkFiltersGeometry vtkFiltersHybrid vtkFiltersTexture vtkFiltersParallel vtkFiltersParallelImaging vtkCommonSystem vtkFiltersParallelDIY2 vtkFiltersGeneric vtkCommonComputationalGeometry vtkFiltersFlowPaths vtkFiltersAMR vtkDomainsChemistry vtkDomainsChemistryOpenGL2 vtkFiltersHyperTree vtkCommonPython vtkChartsCore
2023-01-03T05:13:00.7203661Z Traceback (most recent call last):
2023-01-03T05:13:00.7204199Z   File "$BUILD_PREFIX/lib/python3.9/runpy.py", line 197, in _run_module_as_main
2023-01-03T05:13:00.7204985Z     return _run_code(code, main_globals, None,
2023-01-03T05:13:00.7205399Z   File "$BUILD_PREFIX/lib/python3.9/runpy.py", line 87, in _run_code
2023-01-03T05:13:00.7205777Z     exec(code, run_globals)
2023-01-03T05:13:00.7206327Z   File "$SRC_DIR/build/lib/python3.9/site-packages/vtkmodules/generate_pyi.py", line 37, in <module>
2023-01-03T05:13:00.7206840Z     from vtkmodules.vtkCommonCore import vtkObject, vtkSOADataArrayTemplate
2023-01-03T05:13:00.7207519Z ImportError: $SRC_DIR/build/lib/python3.9/site-packages/vtkmodules/vtkCommonCore.so: cannot open shared object file: No such file or directory
Tobias-Fischer commented 1 year ago

Hi @mwtoews @conda-forge/vtk - would you be happy with this PR in the current state? Importantly, besides fixing #234 and partly addressing #268 (only for native builds), it fixes the Windows builds that are currently blocking PRs #272 and #273

mwtoews commented 1 year ago

Thanks for fixing the more difficult aspects @Tobias-Fischer I haven't checked the build logs, but the CI pass looks good to me.