AcademySoftwareFoundation/openexr

FTBFS w/ Clang on MSYS2

開放

#2,101 建立於 2025年8月21日

 (3 則留言) (0 個反應) (1 位負責人)C (695 個分叉)auto 404
good first issuehelp wanted

倉庫指標

星標
 (1,812 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

OpenEXR 3.3.5 fails to build against Imath 3.2.1 using Clang (20.1.8) on MSYS2 (CLANG64 or CLANGARM64 environments):

FAILED: [code=1] src/lib/OpenEXR/CMakeFiles/OpenEXR.dir/ImfBoxAttribute.cpp.obj 
  D:\M\msys64\clang64\bin\clang++.exe -DIMATH_DLL -DOPENEXR_DLL -DOPENEXR_EXPORTS -DOpenEXR_EXPORTS -ID:/_/B/src/build-CLANG64/src/lib/OpenEXR -ID:/_/B/src/openexr-3.3.5/src/lib/OpenEXR -ID:/_/B/src/build-CLANG64/cmake -ID:/_/B/src/openexr-3.3.5/src/lib/Iex -ID:/_/B/src/openexr-3.3.5/src/lib/IlmThread -ID:/_/B/src/openexr-3.3.5/src/lib/OpenEXRCore -isystem D:/M/msys64/clang64/include/Imath -march=nocona -msahf -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wp,-D__USE_MINGW_ANSI_STDIO=1 -Wno-ignored-attributes -O3 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -pthread -MD -MT src/lib/OpenEXR/CMakeFiles/OpenEXR.dir/ImfBoxAttribute.cpp.obj -MF src\lib\OpenEXR\CMakeFiles\OpenEXR.dir\ImfBoxAttribute.cpp.obj.d -o src/lib/OpenEXR/CMakeFiles/OpenEXR.dir/ImfBoxAttribute.cpp.obj -c D:/_/B/src/openexr-3.3.5/src/lib/OpenEXR/ImfBoxAttribute.cpp
  In file included from D:/_/B/src/openexr-3.3.5/src/lib/OpenEXR/ImfBoxAttribute.cpp:24:
  In file included from D:/_/B/src/openexr-3.3.5/src/lib/OpenEXR/ImfBoxAttribute.h:20:
  In file included from D:/M/msys64/clang64/include/Imath/ImathBox.h:16:
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1097:37: error: explicit specialization of 'length' after instantiation
   1097 | IMATH_HOSTDEVICE short Vec2<short>::length () const IMATH_NOEXCEPT = delete;
        |                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1100:37: error: explicit specialization of 'normalize' after instantiation
   1100 |                        Vec2<short>::normalize () IMATH_NOEXCEPT = delete;
        |                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1101:45: error: explicit specialization of 'normalizeExc' after instantiation
   1101 | template <> const Vec2<short>& Vec2<short>::normalizeExc ()     = delete;
        |                                             ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1104:37: error: explicit specialization of 'normalizeNonNull' after instantiation
   1104 |                        Vec2<short>::normalizeNonNull () IMATH_NOEXCEPT = delete;
        |                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1107:31: error: explicit specialization of 'normalized' after instantiation
   1107 |                  Vec2<short>::normalized () const IMATH_NOEXCEPT = delete;
        |                               ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1108:38: error: explicit specialization of 'normalizedExc' after instantiation
   1108 | template <> Vec2<short> Vec2<short>::normalizedExc () const      = delete;
        |                                      ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1111:14: error: explicit specialization of 'normalizedNonNull' after instantiation
   1111 | Vec2<short>::normalizedNonNull () const IMATH_NOEXCEPT = delete;
        |              ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1115:33: error: explicit specialization of 'length' after instantiation
   1115 | IMATH_HOSTDEVICE int Vec2<int>::length () const IMATH_NOEXCEPT = delete;
        |                                 ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1118:41: error: explicit specialization of 'normalize' after instantiation
   1118 |                              Vec2<int>::normalize () IMATH_NOEXCEPT = delete;
        |                                         ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1119:41: error: explicit specialization of 'normalizeExc' after instantiation
   1119 | template <> const Vec2<int>& Vec2<int>::normalizeExc ()             = delete;
        |                                         ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1122:35: error: explicit specialization of 'normalizeNonNull' after instantiation
   1122 |                        Vec2<int>::normalizeNonNull () IMATH_NOEXCEPT = delete;
        |                                   ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1125:34: error: explicit specialization of 'normalized' after instantiation
   1125 |                       Vec2<int>::normalized () const IMATH_NOEXCEPT = delete;
        |                                  ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1126:34: error: explicit specialization of 'normalizedExc' after instantiation
   1126 | template <> Vec2<int> Vec2<int>::normalizedExc () const             = delete;
        |                                  ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1129:29: error: explicit specialization of 'normalizedNonNull' after instantiation
   1129 |                  Vec2<int>::normalizedNonNull () const IMATH_NOEXCEPT = delete;
        |                             ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1133:41: error: explicit specialization of 'length' after instantiation
   1133 | IMATH_HOSTDEVICE int64_t Vec2<int64_t>::length () const IMATH_NOEXCEPT = delete;
        |                                         ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1136:39: error: explicit specialization of 'normalize' after instantiation
   1136 |                        Vec2<int64_t>::normalize () IMATH_NOEXCEPT = delete;
        |                                       ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1137:49: error: explicit specialization of 'normalizeExc' after instantiation
   1137 | template <> const Vec2<int64_t>& Vec2<int64_t>::normalizeExc ()   = delete;
        |                                                 ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1140:16: error: explicit specialization of 'normalizeNonNull' after instantiation
   1140 | Vec2<int64_t>::normalizeNonNull () IMATH_NOEXCEPT = delete;
        |                ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:1143:33: error: explicit specialization of 'normalized' after instantiation
   1143 |                  Vec2<int64_t>::normalized () const IMATH_NOEXCEPT = delete;
        |                                 ^
  D:/M/msys64/clang64/include/Imath/ImathVec.h:53:53: note: implicit instantiation first required here
     53 | template <class T> class IMATH_EXPORT_TEMPLATE_TYPE Vec2
        |                                                     ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.

貢獻者指南