#69232 closed defect (fixed)
freeimage fails to build on PowerPC
Reported by: | barracuda156 | Owned by: | barracuda156 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.0 |
Keywords: | tiger, leopard, snowleopard, powerpc | Cc: | |
Port: | freeimage |
Description
gcc-4.2:
Source/FreeImage/PluginBMP.cpp: In function ‘BOOL Save(FreeImageIO*, FIBITMAP*, void*, int, int, void*)’: Source/FreeImage/PluginBMP.cpp:1422: error: ‘bpp’ was not declared in this scope make: *** [Source/FreeImage/PluginBMP.o] Error 1 make: *** Waiting for unfinished jobs.... Source/FreeImage/PluginDDS.cpp: In function ‘void SwapHeader(DDSHEADER*)’: Source/FreeImage/PluginDDS.cpp:359: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:360: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:361: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:362: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:363: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:364: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:365: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ Source/FreeImage/PluginDDS.cpp:366: error: ‘struct DDSURFACEDESC2’ has no member named ‘ddpfPixelFormat’ make: *** [Source/FreeImage/PluginDDS.o] Error 1
gcc-13.2.0:
Source/FreeImage/PluginBMP.cpp: In function 'BOOL Save(FreeImageIO*, FIBITMAP*, fi_handle, int, int, void*)': Source/FreeImage/PluginBMP.cpp:1422:28: error: 'bpp' was not declared in this scope 1422 | } else if (bpp == 16) { | ^~~ make: *** [Source/FreeImage/PluginBMP.o] Error 1 make: *** Waiting for unfinished jobs.... Source/FreeImage/PluginDDS.cpp: In function 'void SwapHeader(DDSHEADER*)': Source/FreeImage/PluginDDS.cpp:359:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 359 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:360:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 360 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:361:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 361 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:362:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 362 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:363:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 363 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:364:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 364 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:365:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 365 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); | ^~~~~~~~~~~~~~~ Source/FreeImage/PluginDDS.cpp:366:39: error: 'DDSURFACEDESC2' {aka 'struct tagDDSURFACEDESC2'} has no member named 'ddpfPixelFormat' 366 | SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); | ^~~~~~~~~~~~~~~ make: *** [Source/FreeImage/PluginDDS.o] Error 1 In file included from Source/FreeImage/../OpenEXR/IlmImf/ImfHeader.h:51, from Source/FreeImage/../OpenEXR/IlmImf/ImfOutputFile.h:46, from Source/FreeImage/PluginEXR.cpp:33: Source/OpenEXR/Imath/ImathVec.h:228:41: error: ISO C++17 does not allow dynamic exception specifications 228 | const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:232:48: error: ISO C++17 does not allow dynamic exception specifications 232 | Vec2<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:440:41: error: ISO C++17 does not allow dynamic exception specifications 440 | const Vec3 & normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:444:48: error: ISO C++17 does not allow dynamic exception specifications 444 | Vec3<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:622:37: error: ISO C++17 does not allow dynamic exception specifications 622 | const Vec4 & normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:626:44: error: ISO C++17 does not allow dynamic exception specifications 626 | Vec4<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:714:30: error: ISO C++17 does not allow dynamic exception specifications 714 | Vec2<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:723:37: error: ISO C++17 does not allow dynamic exception specifications 723 | Vec2<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:738:28: error: ISO C++17 does not allow dynamic exception specifications 738 | Vec2<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:747:35: error: ISO C++17 does not allow dynamic exception specifications 747 | Vec2<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:762:30: error: ISO C++17 does not allow dynamic exception specifications 762 | Vec3<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:771:37: error: ISO C++17 does not allow dynamic exception specifications 771 | Vec3<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:786:28: error: ISO C++17 does not allow dynamic exception specifications 786 | Vec3<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:795:35: error: ISO C++17 does not allow dynamic exception specifications 795 | Vec3<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:809:30: error: ISO C++17 does not allow dynamic exception specifications 809 | Vec4<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:818:37: error: ISO C++17 does not allow dynamic exception specifications 818 | Vec4<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:833:28: error: ISO C++17 does not allow dynamic exception specifications 833 | Vec4<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:842:35: error: ISO C++17 does not allow dynamic exception specifications 842 | Vec4<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc); | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:1212:26: error: ISO C++17 does not allow dynamic exception specifications 1212 | Vec2<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:1249:33: error: ISO C++17 does not allow dynamic exception specifications 1249 | Vec2<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:1704:26: error: ISO C++17 does not allow dynamic exception specifications 1704 | Vec3<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:1743:33: error: ISO C++17 does not allow dynamic exception specifications 1743 | Vec3<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:2109:26: error: ISO C++17 does not allow dynamic exception specifications 2109 | Vec4<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc) | ^~~~~ Source/OpenEXR/Imath/ImathVec.h:2150:33: error: ISO C++17 does not allow dynamic exception specifications 2150 | Vec4<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc) | ^~~~~ In file included from Source/FreeImage/../OpenEXR/IlmImf/ImfXdr.h:108, from Source/FreeImage/../OpenEXR/IlmImf/ImfGenericOutputFile.h:40, from Source/FreeImage/../OpenEXR/IlmImf/ImfOutputFile.h:49: Source/OpenEXR/Half/half.h: In constructor 'half::half(float)': Source/OpenEXR/Half/half.h:462:22: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 462 | register int e = (x.i >> 23) & 0x000001ff; | ^ Source/OpenEXR/Half/half.h:473:26: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 473 | register int m = x.i & 0x007fffff; | ^ make: *** [Source/FreeImage/PluginEXR.o] Error 1
Upstream issue: https://github.com/WinMerge/freeimage/issues/16
Change History (4)
comment:1 Changed 9 months ago by barracuda156
comment:2 follow-up: 3 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Replying to barracuda156:
Upstream issue: https://github.com/WinMerge/freeimage/issues/16
As they said there, that's not upstream.
Duplicate of #67489 where I pointed out the real upstream bug reports.
comment:3 Changed 9 months ago by barracuda156
Replying to ryandesign:
Replying to barracuda156:
Upstream issue: https://github.com/WinMerge/freeimage/issues/16
As they said there, that's not upstream.
Duplicate of #67489 where I pointed out the real upstream bug reports.
Thank you, my memory gets bad.
I am not sure if suggestion here is actually correct though. It is arguably more conceivable that upstream used a wrong name in that chunk of code rather than added a completely meaningless and breaking chunk which is to be simply thrown away. No special opinion on int to unsigned change there, I did not get any errors with that.
UPD. I will reply in that ticket, please ignore this.
comment:4 Changed 9 months ago by barracuda156
Owner: | set to barracuda156 |
---|---|
Resolution: | duplicate → fixed |
Anyway, I have fixed it in https://github.com/macports/macports-ports/pull/22445