Dear Maintainer,
your package build-depends on libfreeimage-dev. A new upstream version
of freeimage, 4.2.1, has been packaged for Debian. This is a major version
change (from 3.18), which may require code changes in packages depending
on freeimage.
posterazor FTBFS with freeimage 4.2.1. Note that the FTBFS may not necessarily
be connected to freeimage - please check the build log for the actual cause.
freeimage 4.2.1 is available in experimental, so you can rebuild your
package against it to reproduce the failure and test the fix.
Note: This ticket severity will be increased to RC bug when
freeimage 4.2.1 is uploaded to unstable.
Here is the most probably relevant part of the failing build log:
==================== build log ====================
cd src/build && make -j2 INSTALL="install --strip-program=true" VERBOSE=1
make[1]: Entering directory '/build/reproducible-path/posterazor-1.5.1/src/build'
/usr/bin/cmake -S/build/reproducible-path/posterazor-1.5.1/src -B/build/reproducible-path/posterazor-1.5.1/src/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /build/reproducible-path/posterazor-1.5.1/src/build/CMakeFiles /build/reproducible-path/posterazor-1.5.1/src/build//CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[2]: Entering directory '/build/reproducible-path/posterazor-1.5.1/src/build'
make -f CMakeFiles/PosteRazor.dir/build.make CMakeFiles/PosteRazor.dir/depend
make[3]: Entering directory '/build/reproducible-path/posterazor-1.5.1/src/build'
cd /build/reproducible-path/posterazor-1.5.1/src/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/posterazor-1.5.1/src /build/reproducible-path/posterazor-1.5.1/src /build/reproducible-path/posterazor-1.5.1/src/build /build/reproducible-path/posterazor-1.5.1/src/build /build/reproducible-path/posterazor-1.5.1/src/build/CMakeFiles/PosteRazor.dir/DependInfo.cmake "--color=" PosteRazor
make[3]: Leaving directory '/build/reproducible-path/posterazor-1.5.1/src/build'
make -f CMakeFiles/PosteRazor.dir/build.make CMakeFiles/PosteRazor.dir/build
make[3]: Entering directory '/build/reproducible-path/posterazor-1.5.1/src/build'
[ 4%] Building CXX object CMakeFiles/PosteRazor.dir/ImageIOTypes.cpp.o
/usr/bin/x86_64-linux-gnu-g++ -DFREEIMAGE_LIB -DNO_LAUNCH_URLS_OR_FILES -DNO_OPENGL_PREVIEW -I/build/reproducible-path/posterazor-1.5.1/src/thirdparty/Fl_Native_File_Chooser -g -O2 -ffile-prefix-map=/build/reproducible-path/posterazor-1.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/PosteRazor.dir/ImageIOTypes.cpp.o -MF CMakeFiles/PosteRazor.dir/ImageIOTypes.cpp.o.d -o CMakeFiles/PosteRazor.dir/ImageIOTypes.cpp.o -c /build/reproducible-path/posterazor-1.5.1/src/ImageIOTypes.cpp
[ 9%] Building CXX object CMakeFiles/PosteRazor.dir/PosteRazor.cpp.o
/usr/bin/x86_64-linux-gnu-g++ -DFREEIMAGE_LIB -DNO_LAUNCH_URLS_OR_FILES -DNO_OPENGL_PREVIEW -I/build/reproducible-path/posterazor-1.5.1/src/thirdparty/Fl_Native_File_Chooser -g -O2 -ffile-prefix-map=/build/reproducible-path/posterazor-1.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/PosteRazor.dir/PosteRazor.cpp.o -MF CMakeFiles/PosteRazor.dir/PosteRazor.cpp.o.d -o CMakeFiles/PosteRazor.dir/PosteRazor.cpp.o -c /build/reproducible-path/posterazor-1.5.1/src/PosteRazor.cpp
[ 14%] Building CXX object CMakeFiles/PosteRazor.dir/PosteRazorImageIO.cpp.o
/usr/bin/x86_64-linux-gnu-g++ -DFREEIMAGE_LIB -DNO_LAUNCH_URLS_OR_FILES -DNO_OPENGL_PREVIEW -I/build/reproducible-path/posterazor-1.5.1/src/thirdparty/Fl_Native_File_Chooser -g -O2 -ffile-prefix-map=/build/reproducible-path/posterazor-1.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT CMakeFiles/PosteRazor.dir/PosteRazorImageIO.cpp.o -MF CMakeFiles/PosteRazor.dir/PosteRazorImageIO.cpp.o.d -o CMakeFiles/PosteRazor.dir/PosteRazorImageIO.cpp.o -c /build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:87:16: error: ‘BOOL’ does not name a type
87 | static BOOL hasFreeImageVersionCorrectTopDownInConvertBits(void)
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp: In member function ‘virtual bool PosteRazorImageIOImplementation::loadInputImage(const char*, char*, int)’:
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:150:33: error: ‘RGBQUAD’ was not declared in this scope
150 | RGBQUAD white = { 255, 255, 255, 0 };
| ^~~~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:151:94: error: ‘white’ was not declared in this scope; did you mean ‘fwrite’?
151 | FIBITMAP *Image24Bit = FreeImage_Composite(m_bitmap, FALSE, &white);
| ^~~~~
| fwrite
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp: In member function ‘virtual bool PosteRazorImageIOImplementation::getImageAsRGB(unsigned char*, int, int) const’:
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:201:47: error: ‘BYTE’ does not name a type
201 | const BYTE* const cmykBits = FreeImage_GetScanLine(m_bitmap, scanline);
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:202:41: error: ‘BYTE’ was not declared in this scope
202 | BYTE* const rgbBits = FreeImage_GetScanLine(temp24BPPImage, scanline);
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:202:47: error: expected primary-expression before ‘const’
202 | BYTE* const rgbBits = FreeImage_GetScanLine(temp24BPPImage, scanline);
| ^~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:208:55: error: ‘BYTE’ does not name a type
208 | const BYTE cyan = cmykBits[cmykColumn];
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:209:55: error: ‘BYTE’ does not name a type
209 | const BYTE magenta = cmykBits[cmykColumn + 1];
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:210:55: error: ‘BYTE’ does not name a type
210 | const BYTE yellow = cmykBits[cmykColumn + 2];
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:211:55: error: ‘BYTE’ does not name a type
211 | const BYTE black = cmykBits[cmykColumn + 3];
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:213:55: error: ‘BYTE’ does not name a type
213 | const BYTE red = MAX(0, (255 - (unsigned char)((double)yellow/1.5) - (unsigned char)((double)black/1.5)));
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:214:55: error: ‘BYTE’ does not name a type
214 | const BYTE green = MAX(0, (255 - (unsigned char)((double)magenta/1.5) - (unsigned char)((double)black/1.5)));
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:215:55: error: ‘BYTE’ does not name a type
215 | const BYTE blue = MAX(0, (255 - (unsigned char)((double)cyan/1.5) - (unsigned char)((double)black/1.5)));
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:217:49: error: ‘rgbBits’ was not declared in this scope
217 | rgbBits[rgbColumn] = red;
| ^~~~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:217:70: error: ‘red’ was not declared in this scope
217 | rgbBits[rgbColumn] = red;
| ^~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:218:74: error: ‘green’ was not declared in this scope
218 | rgbBits[rgbColumn + 1] = green;
| ^~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:219:74: error: ‘blue’ was not declared in this scope
219 | rgbBits[rgbColumn + 2] = blue;
| ^~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:233:137: error: ‘hasFreeImageVersionCorrectTopDownInConvertBits’ was not declared in this scope
233 | FreeImage_ConvertToRawBits(buffer, originalImage, width*3, 24, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK, hasFreeImageVersionCorrectTopDownInConvertBits());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp: In member function ‘virtual int PosteRazorImageIOImplementation::savePoster(const char*, ImageIOTypes::eImageFormats, const PainterInterface*, int, double, double) const’:
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:290:160: error: ‘hasFreeImageVersionCorrectTopDownInConvertBits’ was not declared in this scope
290 | FreeImage_ConvertToRawBits(imageData, m_bitmap, bytesPerLineCount, getBitsPerPixel(), FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK, hasFreeImageVersionCorrectTopDownInConvertBits());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:305:23: error: ‘RGBQUAD’ does not name a type
305 | const RGBQUAD* const palette = FreeImage_GetPalette(m_bitmap);
| ^~~~~~~
/build/reproducible-path/posterazor-1.5.1/src/PosteRazorImageIO.cpp:309:21: error: ‘palette’ was not declared in this scope; did you mean ‘rgbPalette’?
309 | if (palette) {
| ^~~~~~~
| rgbPalette
make[3]: *** [CMakeFiles/PosteRazor.dir/build.make:110: CMakeFiles/PosteRazor.dir/PosteRazorImageIO.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/posterazor-1.5.1/src/build'
make[2]: *** [CMakeFiles/Makefile2:90: CMakeFiles/PosteRazor.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/posterazor-1.5.1/src/build'
make[1]: *** [Makefile:94: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/posterazor-1.5.1/src/build'
dh_auto_build: error: cd src/build && make -j2 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
==================== end of build log =============
Thanks,
Anton Gladky