conda-forge / pysolid-feedstock

A conda-smithy repository for pysolid.
BSD 3-Clause "New" or "Revised" License
0 stars 3 forks source link

PySolid v0.3.3 windows build is not working #20

Open jhkennedy opened 2 months ago

jhkennedy commented 2 months ago

PySolid v0.3.3 switch to using scikit-build-core as the build backend. I cannot seem to get Windows builds working here on conda-forge even though I can successfully build on Windows outside of the conda-forge tooling.

In https://github.com/conda-forge/pysolid-feedstock/pull/19/commits/2e7e193de174e0ce4050f02dcf528b6b1d2d1de7, I went ahead and dropped Windows support for v0.3.3, so that at least Linux and OSX builds would be available.

In https://github.com/conda-forge/pysolid-feedstock/pull/19, you can see the variations of the recipe I attempted to get Windows working, but I could not seem to successfully get scikit-build-core to pick up the Fortran compiler on Windows:

  -- The Fortran compiler identification is unknown
CMake Error at CMakeLists.txt:5 (project): 
 No CMAKE_Fortran_COMPILER could be found.
avalentino commented 1 month ago

I was trying to build pysolid as part of the dependencies for a project of mine and I got the following error:

Building wheels for collected packages: pysolid
  Building wheel for pysolid (pyproject.toml): started
  Building wheel for pysolid (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  Building wheel for pysolid (pyproject.toml) did not run successfully.
  exit code: 1

  [28 lines of output]
  2024-08-17 18:20:41,111 - scikit_build_core - WARNING - cmake should not be in build-system.requires - scikit-build-core will inject it as needed
  *** scikit-build-core 0.10.3 using CMake 3.30.2 (wheel)
  *** Configuring CMake...
  2024-08-17 18:20:41,424 - scikit_build_core - WARNING - Can't find a Python library, got libdir=None, ldlibrary=None, multiarch=None, masd=None
  loading initial cache file C:\Users\RUNNER~1\AppData\Local\Temp\tmpxbsbvhmy\build\CMakeInit.txt
  -- Building for: Ninja
  -- The C compiler identification is GNU 13.2.0
  -- The Fortran compiler identification is GNU 13.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/ProgramData/mingw64/mingw64/bin/gcc.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting Fortran compiler ABI info
  -- Detecting Fortran compiler ABI info - done
  -- Check for working Fortran compiler: C:/ProgramData/mingw64/mingw64/bin/gfortran.exe - skipped
  -- Found Python: C:\hostedtoolcache\windows\Python\3.9.13\x64\python.exe (found version "3.9.13") found components: Interpreter Development.Module NumPy
Failed to build pysolid
  CMake Error at CMakeLists.txt:19 (add_library):
    Syntax error in cmake code when parsing string

      C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-d7mtvkwj\overlay\Lib\site-packages\numpy\f2py\src/fortranobject.c

    Invalid character escape '\U'.

  -- Configuring incomplete, errors occurred!

  *** CMake configuration failed
  [end of output]

Apparently there is something in the CMakeLists.txt that trigger a syntax error on windows. I hope it helps. I have had no time to investigate more, sorry.