minetest / irrlicht

Minetest's fork of Irrlicht
Other
114 stars 87 forks source link

Failed to runtest on arm64 and arm64ec on MSVC on windows #280

Closed KawasakiNinjaH2R closed 8 months ago

KawasakiNinjaH2R commented 8 months ago

Hi all,

When I used VS2022 to build Irrlicht(commit 85081d6) on arm64 and arm64ec mode, I found that all tests failed. The error message is as follows: 0% tests passed, 13 tests failed out of 13

Total Test time (real) = 0.05 sec

The following tests FAILED: 1 - ImageLoaderBMP-4bpp_v3 (Not Run) 2 - ImageLoaderBMP-8bpp_v3 (Not Run) 3 - ImageLoaderBMP-8bpp_v3_rle (Not Run) 4 - ImageLoaderBMP-24bpp_v3 (Not Run) 5 - ImageLoaderBMP-24bpp_v7 (Not Run) 6 - ImageLoaderPNG-8bpp (Not Run) 7 - ImageLoaderPNG-24bpp (Not Run) 8 - ImageLoaderTGA-8bpp_up (Not Run) 9 - ImageLoaderTGA-8bpp_down (Not Run) 10 - ImageLoaderTGA-24bpp_up (Not Run) 11 - ImageLoaderTGA-24bpp_down (Not Run) 12 - ImageLoaderTGA-24bpp_rle_up (Not Run) 13 - ImageLoaderTGA-24bpp_rle_down (Not Run) Errors while running CTest

And I tried building and running test in debug mode, but it still failed. Can you guys take a look? Thanks in advance.

Reproduction steps:

  1. Open a X64 Native Tools Command Prompt for VS 2022.

  2. VsDevCmd.bat -host_arch=amd64 -arch=arm64

  3. cd F:\gitP\Microsoft\vcpkg

  4. bootstrap-vcpkg.bat 2>&1

  5. vcpkg install --recurse zlib libjpeg-turbo libpng opengl-registry --triplet arm64-windows --clean-after-build 2>&1

  6. cd F:\gitP\minetest\irrlicht\build_arm64

  7. cmake -G "Visual Studio 17 2022" -A arm64 -DCMAKE_SYSTEM_VERSION=10.0.22621.0 -DCMAKE_TOOLCHAIN_FILE=F:\gitP\Microsoft\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=arm64-windows -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=ON -S .. 2>&1

  8. msbuild /m /p:Platform=arm64 /p:Configuration=Release Irrlicht.sln /t:Rebuild 2>&1

  9. ctest --build-config Release --output-on-failure --verbose 2>&1

Expected Results: Test pass

Actual Results: test.log

sfan5 commented 8 months ago

If you build on amd64 and compile for arm64 you obviously won't be able to run the tests, due to the different architecture.