DARcorporation / xfoil-python

Stripped down version of XFOIL as compiled python module
GNU General Public License v3.0
87 stars 60 forks source link

build fails in win10 system #23

Closed johnZYW closed 2 years ago

johnZYW commented 2 years ago

Hi, i am trying to build it in win10, i downloaded the copy locally in my PC and ran with pip install . And the following error comes up.

Processing c:\users\user\downloads\xfoil-python
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in c:\users\user\anaconda3\lib\site-packages (from xfoil==1.1.1) (1.21.5)
Building wheels for collected packages: xfoil
  Building wheel for xfoil (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for xfoil (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [76 lines of output]
      running bdist_wheel
      running build
      running build_py
      running build_ext
      CMake Error at CMakeLists.txt:2 (project):
        Generator

      NMake Makefiles

    does not support platform specification, but platform

      x64

    was specified.

  CMake Error: CMAKE_Fortran_COMPILER not set, after EnableLanguage
  -- Configuring incomplete, errors occurred!
  See also "C:/Users/user/Downloads/xfoil-python/CMakeFiles/CMakeOutput.log".
  ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\user\\Downloads\\xfoil-python\\build\\lib.win-amd64-cpython-39\\xfoil', '-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE=build\\temp.win-amd64-cpython-39\\Release', '-DPYTHON_EXECUTABLE=C:\\Users\\user\\anaconda3\\python.exe', '-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE', '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\user\\Downloads\\xfoil-python\\build\\lib.win-amd64-cpython-39\\xfoil', '-DCMAKE_GENERATOR_PLATFORM=x64']
  Traceback (most recent call last):
    File "C:\Users\user\anaconda3\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
      main()
    File "C:\Users\user\anaconda3\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "C:\Users\user\anaconda3\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 261, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\build_meta.py", line 244, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\build_meta.py", line 229, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\build_meta.py", line 281, in run_setup
      super(_BuildMetaLegacyBackend,
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\build_meta.py", line 174, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 120, in <module>
      setup(
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\__init__.py", line 87, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 177, in setup
      return run_commands(dist)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 193, in run_commands
      dist.run_commands()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
      self.run_command(cmd)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\dist.py", line 1229, in run_command
      super().run_command(command)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 317, in run_command
      self.distribution.run_command(command)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\dist.py", line 1229, in run_command
      super().run_command(command)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\command\build.py", line 24, in run
      super().run()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 317, in run_command
      self.distribution.run_command(command)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\dist.py", line 1229, in run_command
      super().run_command(command)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\command\build_ext.py", line 79, in run
      _build_ext.run(self)
    File "C:\Users\user\AppData\Local\Temp\pip-build-env-xpkwu6gs\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 339, in run
      self.build_extensions()
    File "setup.py", line 109, in build_extensions
      subprocess.check_call(['cmake', ext.cmake_lists_dir] + cmake_args,
    File "C:\Users\user\anaconda3\lib\subprocess.py", line 373, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\user\\Downloads\\xfoil-python', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\user\\Downloads\\xfoil-python\\build\\lib.win-amd64-cpython-39\\xfoil', '-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE=build\\temp.win-amd64-cpython-39\\Release', '-DPYTHON_EXECUTABLE=C:\\Users\\user\\anaconda3\\python.exe', '-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE', '-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\user\\Downloads\\xfoil-python\\build\\lib.win-amd64-cpython-39\\xfoil', '-DCMAKE_GENERATOR_PLATFORM=x64']' returned non-zero exit status 1.
  [end of output]

 note: This error originates from a subprocess, and is likely not a problem with pip.

It looks like the CMAKE_FORTRAN_Compiler is not found, so i added set(CMAKE_Fortran_COMPILER "C:/MinGW/bin/gfortran.exe") in the CMakelists.txt, but it is still producing the same error.

Please help me with the issue. Thanks.

johnZYW commented 2 years ago

I managed to fix the issue by building from https://github.com/daniel-de-vries/xfoil-python. Which include a setup.cfg file. Just in case if anyone else faces the same issue.