[Pkg-phototools-devel] Bug#998498: pfstools: FTBFS: stl_algobase.h:278:56: error: macro "min" passed 3 arguments, but takes just 2

Andreas Metzler ametzler at bebt.de
Sun Dec 5 15:37:40 GMT 2021


X-Debbugs-Cc: libnetpbm10-dev at packages.debian.org
On 2021-11-04 Lucas Nussbaum <lucas at debian.org> wrote:
> Source: pfstools
> Version: 2.2.0-1
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lucas at debian.org
> Usertags: ftbfs-20211104 ftbfs-bookworm

> Hi,

> During a rebuild of all packages in sid, your package failed to build
> on amd64.

> Relevant part (hopefully):
> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/fileformat && /usr/bin/c++ -D_CRT_SECURE_NO_WARNINGS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/<<PKGBUILDDIR>>/src/pfs -I/usr/include/OpenEXR -I/usr/include/ImageMagick-6 -I/usr/include/x86_64-linux-gnu/ImageMagick-6 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -MD -MT src/fileformat/CMakeFiles/pfsinppm.dir/ppmio.cpp.o -MF CMakeFiles/pfsinppm.dir/ppmio.cpp.o.d -o CMakeFiles/pfsinppm.dir/ppmio.cpp.o -c /<<PKGBUILDDIR>>/src/fileformat/ppmio.cpp
> > In file included from /usr/include/c++/11/bits/specfun.h:45,
> >                  from /usr/include/c++/11/cmath:1935,
> >                  from /usr/include/c++/11/math.h:36,
> >                  from /<<PKGBUILDDIR>>/src/fileformat/ppmio.cpp:34:
> > /usr/include/c++/11/bits/stl_algobase.h:278:56: error: macro "min" passed 3 arguments, but takes just 2
> >   278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
> >       |                                                        ^
> > In file included from /usr/include/pbm.h:7,
> >                  from /usr/include/pgm.h:7,
> >                  from /usr/include/ppm.h:7,
> >                  from /<<PKGBUILDDIR>>/src/fileformat/ppmio.cpp:31:
> > /usr/include/pm.h:51: note: macro "min" defined here
> >    51 | #define min(a,b) ((a) < (b) ? (a) : (b))
[...]

Hello,

This looks like a problem with libnetpbm10-dev, it should not #define
generic max/min macros in a public header.

The same error is generated with:
(sid)ametzler at argenau:/tmp/PFSTOOLS$ cat fail-with-pm.cpp
#include <ppm.h>

#include <math.h>

int main ()
{
      return 0;
}
(sid)ametzler at argenau:/tmp/PFSTOOLS$ g++ -o fail-with-pm fail-with-pm.cpp

Deleting the #defines from /usr/include/pm.h lets pfstools build
successfully.

Which seems to have been fixed in netpbm upstream somewhere in 10.35
(anno 2009), sourceforge has a tarball for 10.35.68 without max/min.
(They switched to upper case MAX MIN from 10.11 up to 10.26).

cu Andreas
> >       | 
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



More information about the Pkg-phototools-devel mailing list