mars-project / mars

Mars is a tensor-based unified framework for large-scale data computation which scales numpy, pandas, scikit-learn and Python functions.
https://mars-project.readthedocs.io
Apache License 2.0
2.68k stars 325 forks source link

[BUG]Build fails under Windows platform #3366

Open brianGriifin114 opened 1 month ago

brianGriifin114 commented 1 month ago

Bug description The MSVC team recently added Mars as part of RWC testing to detect compiler regression. Seems the project will fail to build under Windows due to error C1189: #error: unsupported platform. Could you please take a look?

To Reproduce

  1. Open VS2022 x64 Tools command .
  2. git clone C:\gitP\Tencent\mars C:\gitP\Tencent\mars(The commit SHA we use is 6c71f72)
  3. Build project from scratch.

Expected behavior Build passed.

Additional context The problem seems to be that some compilation errors occurred when compiling the Mars project using Visual Studio 2022, which involved some header files of the OpenSSL library, resulting in error C1189: unsupported platform error. Build (3).log Attached is the build log. We found the problematic header file and found that line 16 caused the error. We have applied a patch to fix this issue. Mars_platform_fix.patch If you need more information or have any questions, please leave a message under this issue.

brianGriifin114 commented 1 month ago

Additionally, after we applied the patch, we got another error when building: C:\gitP\Tencent\mars\mars\boost\iostreams\positioning.hpp(96,16): error C2039: 'seekpos': is not a member of 'std::fpos<_Mbstatet>' [C:\gitP\Tencent\mars\mars\build_amd64\comm\comm.vcxproj] C:\gitP\Tencent\mars\mars\boost\iostreams\positioning.hpp(107,13): error C3861: '_FPOSOFF': identifier not found [C:\gitP\Tencent\mars\mars\build_amd64\comm\ comm.vcxproj] Please investigate this issue as well, thank you Build (5).log