Opened 5 years ago

Closed 5 years ago

#99 closed defect (fixed)

MSYS/MinGW not yet supported well

Reported by: ligh_de Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-2.2
Keywords: build BBuildEnv configure CMake MSYS2 MinGW GCC Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

Previously already reported in the other VVCSoftware_VTM bug tracker which does not seem to be maintained actively, though...


Thanks to the media-autobuild_suite I already enjoy building a variety of video and audio software in a regularly updated MSYS2 environment with MinGW32 (GCC 7.3.0) and MinGW64 (GCC 8.2.0).

So I tried to use it to build VVCSoftware_VTM as well. Unfortunately, using CMake to generate "MSYS Makefiles", BBuildEnv reported a warning:

-- Setting up BBuildEnv 3.10.2.4
CMake Warning at cmake/CMakeBuild/cmake/modules/BBuildEnv.cmake:1037 (message):
  BBuildEnv.cmake: generator 'MSYS Makefiles' is not fully supported yet,
  please contact technical support for further information.
Call Stack (most recent call first):
  cmake/CMakeBuild/cmake/modules/BBuildEnv.cmake:1084 (bb_build_env_setup)
  CMakeLists.txt:52 (include)

Trying to make it anyway failed:

[  3%] Building CXX object source/Lib/CommonLib/CMakeFiles/CommonLib.dir/Buffer.cpp.obj
In file included from H:/development/media-autobuild_suite-master/build/vvc-git/source/Lib/CommonLib/Buffer.cpp:48:0:
H:/development/media-autobuild_suite-master/build/vvc-git/source/Lib/CommonLib/x86/CommonDefX86.h: In function '__m128i _mm_sel_si128(__m128i, __m128i, __m128i)':
H:/development/media-autobuild_suite-master/build/vvc-git/source/Lib/CommonLib/x86/CommonDefX86.h:158:71: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
 static inline __m128i _mm_sel_si128(__m128i a, __m128i b, __m128i mask)
                                                                       ^
At global scope:
cc1plus.exe: error: unrecognized command line option '-Wno-class-memaccess' [-Werror]

Are the sources too specifically MSVC optimized?

A few thoughts about the problems arising, posted by e.g. SmilingWolf, can be read in this doom9 forum thread. He managed to build the software single-threaded. But with your insight I believe a better adaption is possible.

Change history (3)

comment:1 Changed 5 years ago by ksuehring

  • Version changed from VVC D3 v1 to VTM-2.2

comment:2 Changed 5 years ago by ligh_de

A patch by Karsten Suehring enables building the applications in MSYS2 with MinGW32 (GCC 7.3.0) and with MinGW64 (GCC 8.2.0).

Merge request 120: Update cmake environment

Issue can be closed after merging, I believe...

comment:3 Changed 5 years ago by ksuehring

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.