Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] {mingw64 XLinkConnection.cpp fails to compile due to an error in immintrin.h} #998

Open
onthegrid007 opened this issue Apr 4, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@onthegrid007
Copy link

Describe the bug

[1/175] Building CXX object CMakeFiles/depthai-core.dir/src/xlink/XLinkConnection.cpp.obj
FAILED: CMakeFiles/depthai-core.dir/src/xlink/XLinkConnection.cpp.obj 
C:\PROGRA~1\MINGW-~1\mingw64\bin\G__~1.EXE -DBACKWARD_HAS_BACKTRACE=0 -DBACKWARD_HAS_BACKTRACE_SYMBOL=0 -DBACKWARD_HAS_BFD=0 -DBACKWARD_HAS_DW=0 -DBACKWARD_HAS_DWARF=0 -DBACKWARD_HAS_LIBUNWIND=0 -DBACKWARD_HAS_UNWIND=1 -DDEPTHAI_BOOTLOADER_VERSION=\"0.0.26\" -DDEPTHAI_DEVICE_VERSION=\"7665aed8712bb941958660a0103868908726eb56\" -DDEPTHAI_ENABLE_BACKWARD -DDEPTHAI_ENABLE_LIBUSB -DDEPTHAI_PATCH_ONLY_MODE -DDEPTHAI_RESOURCE_COMPILED_BINARIES -DDEPTHAI_TARGET_CORE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DLIBARCHIVE_STATIC -DSPDLOG_COMPILED_LIB -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/include -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/shared/depthai-shared/include -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/shared/depthai-bootloader-shared/include -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/include/depthai -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/src -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/shared/depthai-shared/src -IC:/Users/localadmin/Desktop/gitlibs/depthai-core/shared/depthai-bootloader-shared/src -isystem C:/Users/localadmin/Desktop/gitlibs/depthai-core/shared/depthai-shared/3rdparty -isystem C:/Users/localadmin/Desktop/gitlibs/depthai-core/build2/_cmrc/include -isystem C:/Users/localadmin/.hunter/_Base/cb0ea1f/bb6087f/1201417/Install/include -isystem C:/Users/localadmin/.hunter/_Base/cb0ea1f/bb6087f/1201417/Install/lib/backward -std=c++20 -fPIC -Wa,-mbig-obj -g -std=c++14 -Wall -Wextra -Woverloaded-virtual -Wformat=2 -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wnull-dereference -Wdouble-promotion -Wsign-compare -Wtype-limits -Werror=return-type -Werror=non-virtual-dtor -Werror=sign-compare -Werror=reorder -Werror=switch-enum -MD -MT CMakeFiles/depthai-core.dir/src/xlink/XLinkConnection.cpp.obj -MF CMakeFiles\depthai-core.dir\src\xlink\XLinkConnection.cpp.obj.d -o CMakeFiles/depthai-core.dir/src/xlink/XLinkConnection.cpp.obj -c C:/Users/localadmin/Desktop/gitlibs/depthai-core/src/xlink/XLinkConnection.cpp
In file included from C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/immintrin.h:29,
                 from C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/x86intrin.h:32,
                 from C:/Program Files/mingw-w64/mingw64/x86_64-w64-mingw32/include/winnt.h:1658,
                 from C:/Program Files/mingw-w64/mingw64/x86_64-w64-mingw32/include/minwindef.h:163,
                 from C:/Program Files/mingw-w64/mingw64/x86_64-w64-mingw32/include/windef.h:9,
                 from C:/Program Files/mingw-w64/mingw64/x86_64-w64-mingw32/include/windows.h:69,
                 from C:/Users/localadmin/.hunter/_Base/cb0ea1f/bb6087f/1201417/Install/include/spdlog/details/windows_include.h:11,
                 from C:/Users/localadmin/.hunter/_Base/cb0ea1f/bb6087f/1201417/Install/include/spdlog/sinks/wincolor_sink.h:16,
                 from C:/Users/localadmin/.hunter/_Base/cb0ea1f/bb6087f/1201417/Install/include/spdlog/sinks/stdout_color_sinks.h:7,
                 from C:/Users/localadmin/Desktop/gitlibs/depthai-core/src/utility/Logging.hpp:12,
                 from C:/Users/localadmin/Desktop/gitlibs/depthai-core/src/xlink/XLinkConnection.cpp:26:
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_cvtsi32_si64(int)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:79:54: error: cannot convert a vector of type '__vector(2) int' to type '__m64' {aka 'int'} which has different size
   79 |   return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
      |                                                      ^
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function 'int _mm_cvtsi64_si32(__m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:122:39: error: cannot convert '__m64' {aka 'int'} to '__vector(2) int'
  122 |   return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
      |                                       ^~~~~~~~~~~
      |                                       |
      |                                       __m64 {aka int}
<built-in>: note:   initializing argument 1 of 'int __builtin_ia32_vec_ext_v2si(__vector(2) int, int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_packs_pi16(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:161:43: error: cannot convert '__v4hi' {aka 'short int'} to '__vector(4) short int'
  161 |   return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2);
      |                                           ^~~~~~~~~~~~
      |                                           |
      |                                           __v4hi {aka short int}
<built-in>: note:   initializing argument 1 of '__vector(8) char __builtin_ia32_packsswb(__vector(4) short int, __vector(4) short int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_packs_pi32(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:176:43: error: cannot convert '__m64' {aka 'int'} to '__vector(2) int'
  176 |   return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
      |                                           ^~~~~~~~~~~~
      |                                           |
      |                                           __m64 {aka int}
<built-in>: note:   initializing argument 1 of '__vector(4) short int __builtin_ia32_packssdw(__vector(2) int, __vector(2) int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_packs_pu16(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:191:43: error: cannot convert '__v4hi' {aka 'short int'} to '__vector(4) short int'
  191 |   return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2);
      |                                           ^~~~~~~~~~~~
      |                                           |
      |                                           __v4hi {aka short int}
<built-in>: note:   initializing argument 1 of '__vector(8) char __builtin_ia32_packuswb(__vector(4) short int, __vector(4) short int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpackhi_pi8(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:205:44: error: cannot convert '__v8qi' {aka 'char'} to '__vector(8) char'
  205 |   return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __v8qi {aka char}
<built-in>: note:   initializing argument 1 of '__vector(8) char __builtin_ia32_punpckhbw(__vector(8) char, __vector(8) char)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpackhi_pi16(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:219:44: error: cannot convert '__v4hi' {aka 'short int'} to '__vector(4) short int'
  219 |   return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __v4hi {aka short int}
<built-in>: note:   initializing argument 1 of '__vector(4) short int __builtin_ia32_punpckhwd(__vector(4) short int, __vector(4) short int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpackhi_pi32(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:233:44: error: cannot convert '__m64' {aka 'int'} to '__vector(2) int'
  233 |   return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __m64 {aka int}
<built-in>: note:   initializing argument 1 of '__vector(2) int __builtin_ia32_punpckhdq(__vector(2) int, __vector(2) int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpacklo_pi8(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:247:44: error: cannot convert '__v8qi' {aka 'char'} to '__vector(8) char'
  247 |   return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __v8qi {aka char}
<built-in>: note:   initializing argument 1 of '__vector(8) char __builtin_ia32_punpcklbw(__vector(8) char, __vector(8) char)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpacklo_pi16(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:261:44: error: cannot convert '__v4hi' {aka 'short int'} to '__vector(4) short int'
  261 |   return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __v4hi {aka short int}
<built-in>: note:   initializing argument 1 of '__vector(4) short int __builtin_ia32_punpcklwd(__vector(4) short int, __vector(4) short int)'
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h: In function '__m64 _mm_unpacklo_pi32(__m64, __m64)':
C:/Program Files/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/13.2.0/include/mmintrin.h:275:44: error: cannot convert '__m64' {aka 'int'} to '__vector(2) int'
  275 |   return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            __m64 {aka int}

Minimal Reproducible Example
clone depthai-core
mkdir depthai-core/build
cd depthai-core/build
cmake -G Ninja .. -DCMAKE_CXX_ARGS="-std=c++20 -fPIC -Wa,-mbig-obj"

Not sure what is going on but now trying to compile on windows using mingw64, there's 10 pages of cascading errors on that one include file not using proper types.

@onthegrid007 onthegrid007 added the bug Something isn't working label Apr 4, 2024
@moratom
Copy link
Collaborator

moratom commented Apr 16, 2024

Hi @onthegrid007,

sorry for the issues but we only test&support the MSVC compiler for windows.
If you manage to resolve the issue, we'd be happy to accept a PR with the fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants