Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installing Slycot with pip on Windows (Microsoft C++ toolset Build Tools + Intel Fortran + oneMKL) failed build wheels #235

Open
jaivgar opened this issue Apr 19, 2024 · 2 comments

Comments

@jaivgar
Copy link

jaivgar commented Apr 19, 2024

I tried to install Slycot on Windows 10, Python 3.12.0 and follow the instructions on the README. I managed to go some steps further than #191, with a configuration of the build environment using:

  • C compiler - Microsoft C++ toolset Build Tools MSVC 19.39.33523.0 cl
  • FORTRAN compiler - IntelLLVM 2024.1.0 with MSVC-like command-line, bascially the Intel(R) Fortran Compiler ifx
  • BLAS/LAPACK - Intel oneAPI Math Kernel Library
  • Numpy 1.26.4
  • Scikit-build 0.17.6

But I also encounter a roadblock, I think the origin is at the start of Post-processing
slycot/src/_wrapper.pyf:_wrapper:unknown_interface:ab08nd analyzevars: could not parse dimension for variable 'max(n,m)+1'
That I think leads to

 Generating possibly empty wrappers"
          Maybe empty "_wrapper-f2pywrappers.f"
              Constructing wrapper function "ab08nd"...
      getarrdims:warning: assumed shape array, using 0 instead of '*'
      getarrdims:warning: assumed shape array, using 0 instead of '*'
      getarrdims:warning: assumed shape array, using 0 instead of '*'
      getarrdims:warning: assumed shape array, using 0 instead of '*'

With the error

[1259/1260] Linking Fortran shared module slycot\_wrapper.cp312-win_amd64.pyd
      FAILED: slycot/_wrapper.cp312-win_amd64.pyd
      C:\WINDOWS\system32\cmd.exe /C "cd . && C:\Users\A1063610\AppData\Local\Temp\pip-build-env-kvwyujzv\overlay\Lib\site-packages\cmake\data\bin\cmake.exe -E vs_link_dll --intdir=slycot\CMakeFiles\_wrapper.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x86\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x86\mt.exe --manifests  -- C:\PROGRA~2\Intel\oneAPI\compiler\latest\bin\ifx.exe /nologo @CMakeFiles\_wrapper.rsp  -LD /machine:x64 /INCREMENTAL:NO /EXPORT:PyInit__wrapper -link /out:slycot\_wrapper.cp312-win_amd64.pyd /implib:slycot\_wrapper.lib /pdb:slycot\_wrapper.pdb /version:0.0 && cd ."
      LINK: command "C:\PROGRA~2\Intel\oneAPI\compiler\latest\bin\ifx.exe /nologo @CMakeFiles\_wrapper.rsp -LD /machine:x64 /INCREMENTAL:NO /EXPORT:PyInit__wrapper -link /out:slycot\_wrapper.cp312-win_amd64.pyd /implib:slycot\_wrapper.lib /pdb:slycot\_wrapper.pdb /version:0.0 /MANIFEST:EMBED,ID=2" failed (exit code 1120) with the following output:
      ifx: command line warning #10006: ignoring unknown option '/machine:x64'
      ifx: command line warning #10006: ignoring unknown option '/EXPORT:PyInit__wrapper'
         Creating library slycot\_wrapper.lib and object slycot\_wrapper.exp
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab01nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab04md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab05md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab05nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab07nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab08nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab08nz_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab09ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab09ax_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab09bd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab09md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab09nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol f2pywrapab13bd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab13dd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab13md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab13ed_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ab13fd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ag08bd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mc01td_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb02ed_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb03rd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb03vd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb03vy_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb03wd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb05md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol mb05nd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb01bd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb02md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb02od_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb02mt_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb03md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb03od_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb04md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb04qd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10dd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10fd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10hd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10jd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sb10yd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sg03ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sg02ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol sg03bd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tb01id_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tb03ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tb04ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tb05ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tc01od_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tc04ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol td04ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tf01md_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tf01rd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tb01pd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tg01ad_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol tg01fd_
      _wrappermodule.c.obj : error LNK2001: unresolved external symbol ftruefalse_
      _wrappermodule.c.obj : error LNK2019: unresolved external symbol ab13bd_ referenced in function PyInit__wrapper

      slycot\_wrapper.cp312-win_amd64.pyd : fatal error LNK1120: 57 unresolved externals

      ninja: build stopped: subcommand failed.
      Traceback (most recent call last):
        File "C:\Users\A1063610\AppData\Local\Temp\pip-build-env-kvwyujzv\overlay\Lib\site-packages\skbuild\setuptools_wrap.py", line 674, in setup
          cmkr.make(make_args, install_target=cmake_install_target, env=env)
        File "C:\Users\A1063610\AppData\Local\Temp\pip-build-env-kvwyujzv\overlay\Lib\site-packages\skbuild\cmaker.py", line 697, in make
          self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
        File "C:\Users\A1063610\AppData\Local\Temp\pip-build-env-kvwyujzv\overlay\Lib\site-packages\skbuild\cmaker.py", line 742, in make_impl
          raise SKBuildError(msg)

      An error occurred while building with CMake.
        Command:
          'C:\Users\A1063610\AppData\Local\Temp\pip-build-env-kvwyujzv\overlay\Lib\site-packages\cmake\data\bin/cmake.exe' --build . --target install --config Release --
        Install target:
          install
        Source directory:
          C:\Users\A1063610\AppData\Local\Temp\pip-install-rqqmzrzv\slycot_0e9c969270b347ee8377b15d2e5ae52c
        Working directory:
          C:\Users\A1063610\AppData\Local\Temp\pip-install-rqqmzrzv\slycot_0e9c969270b347ee8377b15d2e5ae52c\_skbuild\win-amd64-3.12\cmake-build
      Please check the install target is valid and see CMake's output for more information.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for slycot
Failed to build slycot
ERROR: Could not build wheels for slycot, which is required to install pyproject.toml-based projects

Could this be the issue of some of the tools/compilers/libs I used?

The full output is too long to add it, but if interested I could provide it.

@dardeshna
Copy link

I am also running into this same issue. Any ideas?

@aggelis
Copy link

aggelis commented Sep 18, 2024

I am also running into the same issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants