AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
FTBFS with Clang + Arm64 on Windows
- Vorherrschende Sprache
- C++
- Sterne
- 2.1k
- Forks
- 503
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
```
In file included from C:/M/B/src/OpenColorIO-2.4.2/src/OpenColorIO/ops/lut1d/Lut1DOpCPU_SSE2.cpp:10:
C:/M/B/src/OpenColorIO-2.4.2/src/OpenColorIO/SSE2.h:354:19: error: incompatible pointer types assigning to '__fp16 *' from 'int16_t *' (aka 'short *')
354 | vst1q_f16((float16_t *)(out+0), rgba);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/clangarm64/lib/clang/20/include/arm_neon.h:39424:26: note: expanded from macro 'vst1q_f16'
39424 | __builtin_neon_vst1q_v(__p0, (int8x16_t)__s1, 40); \
| ^~~~
In file included from C:/M/B/src/OpenColorIO-2.4.2/src/OpenColorIO/ops/lut1d/Lut1DOpCPU_SSE2.cpp:10:
C:/M/B/src/OpenColorIO-2.4.2/src/OpenColorIO/SSE2.h:357:19: error: incompatible pointer types assigning to '__fp16 *' from 'int16_t *' (aka 'short *')
357 | vst1q_f16((float16_t *)(out+8), rgba);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/clangarm64/lib/clang/20/include/arm_neon.h:39424:26: note: expanded from macro 'vst1q_f16'
39424 | __builtin_neon_vst1q_v(__p0, (int8x16_t)__s1, 40); \
| ^~~~
2 errors generated.
```
This makes it build: https://github.com/msys2/MINGW-packages/blob/3027f4fc33ee83d31bdcefb2cc07442e02ff8e50/mingw-w64-opencolorio/0006-fix-neon-build.patch
I don't know how that plays with MSVC though, and if this needs to be changed instead: https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/05466120f3f9c23b23778f3ccbafc4dde93abe4b/src/OpenColorIO/SSE2.h#L30-L34
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit src/OpenColorIO/SSE2.h in den Zeilen 354 und 357 und überprüfen Sie anschließend die Plattform-Conditionals in der Nähe der Zeilen 30-34. Reproduzieren Sie den Clang Arm64 Windows-Build und vergleichen Sie den vorgeschlagenen MSYS2-Patch. Überprüfen Sie dabei dessen Kompatibilität mit MSVC. Als erledigt gilt dies, wenn der betroffene Build ohne inkompatible Zeigerfehler abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- build-system, operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100