- 
                Notifications
    You must be signed in to change notification settings 
- Fork 42
Description
Hi,
I am having difficult installing python pdal.
I have installed pdal on a windows 10 machine (and its dependencies including gdal) using the OSGeo4W setup installer made available as part of QGIS. PDAL is accessible via the command line:
PS C:\Users####> pdal --version
pdal 2.9.0 (git-version: 42b180)
OSGeo4W install PDAL under C:\OSGeo4W and C:\OSGeo4W\bin has been added to the system PATH variable. My python environment is in a python venv and I am using pip as a package manager. When I install python pdal with 'pip install pdal' I get build errors. I can see that the cmake file, include and lib directories are found but I suspect the build errors occur because something else is not found? (I can see that the wheels process is locating the cmake file because if I remove C:\OSGeo4W\bin from my system PATH variable 'pip install pdal' fails to find the CMAKE file.
I have truncated the error output but included the top and bottom of the report:
PS C:\Users#####> pip install pdal
Collecting pdal
Using cached pdal-3.4.5.tar.gz (89 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.22 in c:\users#####.pyenv\pyenv-win\versions\3.11.7\lib\site-packages (from pdal) (1.26.4)
Building wheels for collected packages: pdal
Building wheel for pdal (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pdal (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [961 lines of output]
WARNING: Minimum CMake version set as 'CMakeLists.txt' is less than 3.15. This is not supported by scikit-build-core; set manually or increase to avoid this warning.
WARNING: Use build.verbose instead of cmake.verbose for scikit-build-core >= 0.10
*** scikit-build-core 0.11.5 using CMake 4.0.3 (wheel)
*** Configuring CMake...
loading initial cache file build\cp311-cp311-win_amd64\CMakeInit.txt
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.44.35211.0
-- The CXX compiler identification is MSVC 19.44.35211.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: C:/Users/#####/.pyenv/pyenv-win/versions/3.11.7/python3.exe (found version "3.11.7") found components: Interpreter Development.Module NumPy
-- Performing Test HAS_MSVC_GL_LTCG
-- Performing Test HAS_MSVC_GL_LTCG - Success
-- Found pybind11: C:/Users/#####/AppData/Local/Temp/pip-build-env-40uadyyi/overlay/Lib/site-packages/pybind11/include (found version "2.13.6")
-- Configuring done (11.5s)
-- Generating done (0.1s)
-- Build files have been written to: C:/Users/#####/AppData/Local/Temp/pip-install-k6yymxk3/pdal_0aaad51fb0434ab791e29700054064a3/build/cp311-cp311-win_amd64
*** Building project with Visual Studio 17 2022...
MSBuild version 17.14.14+a129329f1 for .NET Framework
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(548,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\ZERO_CHECK.vcxproj]
    1>Checking Build System
  C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(548,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    Building Custom Rule C:/Users/#####/AppData/Local/Temp/pip-install-k6yymxk3/pdal_0aaad51fb0434ab791e29700054064a3/CMakeLists.txt
    PyArray.cpp
    PyPipeline.cpp
    StreamableExecutor.cpp
    libpdalpython.cpp
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(58,16): error C2079: 'PipelineExecutor' uses undefined class 'pdal::python::PDAL_DLL' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(59,1): error C2059: syntax error: 'public' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(61,14): error C2588: '::~PipelineExecutor': illegal global destructor [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(61,14): error C2575: 'PipelineExecutor': only member functions and bases can be virtual [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(61,14): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(61,14): error C2365: 'pdal::python::PipelineExecutor': redefinition; previous definition was 'data variable' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
        C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(58,16):
        see declaration of 'pdal::python::PipelineExecutor'
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(66,25): error C2270: 'views': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(67,17): error C2270: 'getPipeline': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(68,17): error C2270: 'getMetadata': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(69,17): error C2270: 'getQuickInfo': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(70,17): error C2270: 'getSchema': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(71,17): error C2270: 'getSrsWKT2': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(72,28): error C2270: 'getManager': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(72,56): error C2065: 'm_manager': undeclared identifier [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(61,16): error C2079: 'Array' uses undefined class 'pdal::python::PDAL_DLL' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyPipeline.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(61,16): error C2079: 'Array' uses undefined class 'pdal::python::PDAL_DLL' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyArray.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(73,17): error C2270: 'getLog': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(63,1): error C2059: syntax error: 'public' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyPipeline.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(73,41): error C2065: 'm_logStream': undeclared identifier [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(63,1): error C2059: syntax error: 'public' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyArray.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(75,1): error C2059: syntax error: 'protected' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(67,5): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyPipeline.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(76,32): error C2270: 'pointTable': modifiers not allowed on nonmember functions [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyPipeline.hpp(76,60): error C2065: 'm_manager': undeclared identifier [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/StreamableExecutor.cpp')
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(67,5): error C2365: 'pdal::python::Array': redefinition; previous definition was 'data variable' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
    (compiling source file '../../src/pdal/PyPipeline.cpp')
        C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\PyArray.hpp(61,16):
        see declaration of 'pdal::python::Array'
......... truncated ...............
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\libpdalpython.cpp(276,25): error C2143: syntax error: missing ';' before '*' [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
  C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\src\pdal\libpdalpython.cpp(276,25): error C1003: error count exceeds 100; stopping compilation [C:\Users\#####\AppData\Local\Temp\pip-install-k6yymxk3\pdal_0aaad51fb0434ab791e29700054064a3\build\cp311-cp311-win_amd64\libpdalpython.vcxproj]
  *** CMake build failed
  [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pdal
Failed to build pdal
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pdal)