Opened 6 years ago
Closed 6 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 6 years ago by ksuehring
- Version changed from VVC D3 v1 to VTM-2.2
comment:2 Changed 6 years ago by ligh_de
comment:3 Changed 6 years ago by ksuehring
- Resolution set to fixed
- Status changed from new to closed
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...