Opened 9 months ago

Closed 9 months ago

Last modified 9 months ago

#5450 closed defect (fixed)

3.4.0-beta1 fails to build (error: detected recursion whilst expanding macro "pixel")

Reported by: Bas Couwenberg Owned by: strk
Priority: medium Milestone: PostGIS 3.4.0
Component: build Version: 3.0.x
Keywords: Cc: Bas Couwenberg

Description

The Debian package build for 3.4.0-beta1 failed on powerpc architectures:

make[3]: Entering directory '/<<PKGBUILDDIR>>/raster'
/usr/bin/make -C rt_core
/usr/bin/make -C rt_pg rtpostgis.sql
make[4]: Entering directory '/<<PKGBUILDDIR>>/raster/rt_pg'
make[4]: Entering directory '/<<PKGBUILDDIR>>/raster/rt_core'
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_util.o rt_util.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_spatial_relationship.o rt_spatial_relationship.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_mapalgebra.o rt_mapalgebra.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_geometry.o rt_geometry.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_statistics.o rt_statistics.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_pixel.o rt_pixel.c
powerpc64le-linux-gnu-gcc -I../../liblwgeom -I../../liblwgeom -I../.. -I../../raster -I.  -I/usr/include -I/usr/include/powerpc64le-linux-gnu   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c   -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu99 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-math-errno -fno-signed-zeros -Wall -flto  -fPIC -DPIC -I/usr/include/gdal -I/usr/include/powerpc64le-linux-gnu  -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2  -c -o rt_warp.o rt_warp.c
/usr/bin/cpp -traditional-cpp -w -P -I../../postgis/ rtpostgis.sql.in > rtpostgis.sql.tmp
rtpostgis.sql.in:1605: error: detected recursion whilst expanding macro "pixel"
 1605 |                                 -- per band pixel type check
      | 
rtpostgis.sql.in:1633: error: detected recursion whilst expanding macro "pixel"
 1633 |                                         -- per band pixel type check
      | 
rtpostgis.sql.in:3150: error: detected recursion whilst expanding macro "pixel"
 3150 |                 -- max distance from center pixel
      | 
rtpostgis.sql.in:3168: error: detected recursion whilst expanding macro "pixel"
 3168 |                 -- center pixel's coordinates
      | 
rtpostgis.sql.in:3187: error: detected recursion whilst expanding macro "pixel"
 3187 |                         -- second arg is what to do if center pixel has a value
      | 
rtpostgis.sql.in:3188: error: detected recursion whilst expanding macro "pixel"
 3188 |                         -- this will be a weight to apply for the center pixel
      | 
rtpostgis.sql.in:3205: error: detected recursion whilst expanding macro "pixel"
 3205 |                 -- center pixel value
      | 
rtpostgis.sql.in:3208: error: detected recursion whilst expanding macro "pixel"
 3208 |                 -- check to see if center pixel has value
      | 
rtpostgis.sql.in:3218: error: detected recursion whilst expanding macro "pixel"
 3218 |                                 -- skip NODATA values and center pixel
      | 
rtpostgis.sql.in:3237: error: detected recursion whilst expanding macro "pixel"
 3237 |                         -- center pixel has value
      | 
rtpostgis.sql.in:3256: error: detected recursion whilst expanding macro "pixel"
 3256 |                 -- apply weight for center pixel if center pixel has value
      | 
rtpostgis.sql.in:3256: error: detected recursion whilst expanding macro "pixel"
rtpostgis.sql.in:3310: error: detected recursion whilst expanding macro "pixel"
 3310 |                 -- max distance from center pixel
      | 
rtpostgis.sql.in:3326: error: detected recursion whilst expanding macro "pixel"
 3326 |                 -- center pixel's coordinates
      | 
rtpostgis.sql.in:3330: error: detected recursion whilst expanding macro "pixel"
 3330 |                 -- center pixel value
      | 
rtpostgis.sql.in:3333: error: detected recursion whilst expanding macro "pixel"
 3333 |                 -- check to see if center pixel has value
      | 
rtpostgis.sql.in:3341: error: detected recursion whilst expanding macro "pixel"
 3341 |                                 -- skip NODATA values and center pixel
      | 
rtpostgis.sql.in:3430: error: detected recursion whilst expanding macro "pixel"
 3430 |                 -- check that center pixel isn't NODATA
      | 
rtpostgis.sql.in:3433: error: detected recursion whilst expanding macro "pixel"
 3433 |                 -- substitute center pixel for any neighbor pixels that are NODATA
      | 
rtpostgis.sql.in:3599: error: detected recursion whilst expanding macro "pixel"
 3599 |                 -- check that center pixel isn't NODATA
      | 
rtpostgis.sql.in:3602: error: detected recursion whilst expanding macro "pixel"
 3602 |                 -- substitute center pixel for any neighbor pixels that are NODATA
      | 
rtpostgis.sql.in:3781: error: detected recursion whilst expanding macro "pixel"
 3781 |                 -- check that pixel is not edge pixel
      | 
rtpostgis.sql.in:3781: error: detected recursion whilst expanding macro "pixel"
rtpostgis.sql.in:3979: error: detected recursion whilst expanding macro "pixel"
 3979 |                 -- check that center pixel isn't NODATA
      | 
rtpostgis.sql.in:3982: error: detected recursion whilst expanding macro "pixel"
 3982 |                 -- substitute center pixel for any neighbor pixels that are NODATA
      | 
rtpostgis.sql.in:4123: error: detected recursion whilst expanding macro "pixel"
 4123 |                 -- check that center pixel isn't NODATA
      | 
rtpostgis.sql.in:4126: error: detected recursion whilst expanding macro "pixel"
 4126 |                 -- substitute center pixel for any neighbor pixels that are NODATA
      | 
rtpostgis.sql.in:4261: error: detected recursion whilst expanding macro "pixel"
 4261 |                 -- check that center pixel isn't NODATA
      | 
rtpostgis.sql.in:4264: error: detected recursion whilst expanding macro "pixel"
 4264 |                 -- substitute center pixel for any neighbor pixels that are NODATA
      | 
rtpostgis.sql.in:5230: error: detected recursion whilst expanding macro "pixel"
 5230 | -- Returns the pixel column and row covering the provided X and Y world
      | 
rtpostgis.sql.in:5245: error: detected recursion whilst expanding macro "pixel"
 5245 | -- Returns the pixel column and row covering the provided point geometry.
      | 
rtpostgis.sql.in:5273: error: detected recursion whilst expanding macro "pixel"
 5273 | -- Returns the column number of the pixel covering the provided X and Y world
      | 
rtpostgis.sql.in:5297: error: detected recursion whilst expanding macro "pixel"
 5297 | -- Returns the column number of the pixel covering the provided point geometry.
      | 
rtpostgis.sql.in:5320: error: detected recursion whilst expanding macro "pixel"
 5320 | -- Returns the row number of the pixel covering the provided X and Y world
      | 
rtpostgis.sql.in:5344: error: detected recursion whilst expanding macro "pixel"
 5344 | -- Returns the row number of the pixel covering the provided point geometry.
      | 
rtpostgis.sql.in:5379: error: detected recursion whilst expanding macro "pixel"
 5379 | -- Returns the longitude and latitude of the upper left corner of the pixel
      | 
rtpostgis.sql.in:5380: error: detected recursion whilst expanding macro "pixel"
 5380 | -- located at the provided pixel column and row.
      | 
rtpostgis.sql.in:5396: error: detected recursion whilst expanding macro "pixel"
 5396 | -- Returns the X world coordinate of the upper left corner of the pixel located at
      | 
rtpostgis.sql.in:5408: error: detected recursion whilst expanding macro "pixel"
 5408 | -- Returns the X world coordinate of the upper left corner of the pixel located at
      | 
rtpostgis.sql.in:5422: error: detected recursion whilst expanding macro "pixel"
 5422 | -- Returns the Y world coordinate of the upper left corner of the pixel located at
      | 
rtpostgis.sql.in:5434: error: detected recursion whilst expanding macro "pixel"
 5434 | -- Returns the Y world coordinate of the upper left corner of the pixel located at
      | 
rtpostgis.sql.in:5534: error: detected recursion whilst expanding macro "bool"
 5534 |         RETURNS bool
      | 
rtpostgis.sql.in:5556: error: detected recursion whilst expanding macro "bool"
 5556 |     RETURNS bool
      | 
rtpostgis.sql.in:5561: error: detected recursion whilst expanding macro "bool"
 5561 |     RETURNS bool
      | 
rtpostgis.sql.in:5566: error: detected recursion whilst expanding macro "bool"
 5566 |     RETURNS bool
      | 
rtpostgis.sql.in:5571: error: detected recursion whilst expanding macro "bool"
 5571 |     RETURNS bool
      | 
rtpostgis.sql.in:5576: error: detected recursion whilst expanding macro "bool"
 5576 |     RETURNS bool
      | 
rtpostgis.sql.in:5581: error: detected recursion whilst expanding macro "bool"
 5581 |     RETURNS bool
      | 
rtpostgis.sql.in:5586: error: detected recursion whilst expanding macro "bool"
 5586 |     RETURNS bool
      | 
rtpostgis.sql.in:5591: error: detected recursion whilst expanding macro "bool"
 5591 |     RETURNS bool
      | 
rtpostgis.sql.in:5596: error: detected recursion whilst expanding macro "bool"
 5596 |     RETURNS bool
      | 
rtpostgis.sql.in:5601: error: detected recursion whilst expanding macro "bool"
 5601 |     RETURNS bool
      | 
rtpostgis.sql.in:5606: error: detected recursion whilst expanding macro "bool"
 5606 |     RETURNS bool
      | 
rtpostgis.sql.in:5611: error: detected recursion whilst expanding macro "bool"
 5611 |     RETURNS bool
      | 
rtpostgis.sql.in:5619: error: detected recursion whilst expanding macro "bool"
 5619 |     RETURNS bool
      | 
rtpostgis.sql.in:5625: error: detected recursion whilst expanding macro "bool"
 5625 |     RETURNS bool
      | 
rtpostgis.sql.in:5631: error: detected recursion whilst expanding macro "bool"
 5631 |     RETURNS bool
      | 
rtpostgis.sql.in:5639: error: detected recursion whilst expanding macro "bool"
 5639 |     RETURNS bool
      | 
rtpostgis.sql.in:5645: error: detected recursion whilst expanding macro "bool"
 5645 |     RETURNS bool
      | 
rtpostgis.sql.in:5651: error: detected recursion whilst expanding macro "bool"
 5651 |     RETURNS bool
      | 
rtpostgis.sql.in:8627: error: detected recursion whilst expanding macro "pixel"
 8627 | -- @param sfx scale factor x (pixel width)
      | 
rtpostgis.sql.in:8628: error: detected recursion whilst expanding macro "pixel"
 8628 | -- @param sfy scale factor y (pixel height, usually negative)
      | 
make[4]: *** [Makefile:128: rtpostgis.sql] Error 1

Full buildlogs: ppc64el (64bit, little endian), ppc64 (64bit, big endian), powerpc (32bit, big endian)

Attachments (1)

powerpc.patch (489 bytes ) - added by Bas Couwenberg 9 months ago.
Fix macro expansion recursion on powerpc architectures.

Download all attachments as: .zip

Change History (11)

comment:1 by Bas Couwenberg, 9 months ago

Cc: Bas Couwenberg added
Component: postgisbuild/upgrade/install
Milestone: PostGIS 3.3.4PostGIS 3.4.0
Owner: changed from pramsey to strk
Version: 3.3.xmaster

comment:2 by Bas Couwenberg, 9 months ago

Also reported in #4751.

by Bas Couwenberg, 9 months ago

Attachment: powerpc.patch added

Fix macro expansion recursion on powerpc architectures.

comment:3 by Bas Couwenberg, 9 months ago

The attached patch fixes the issue on the ppc64el porterbox.

comment:4 by Sandro Santilli <strk@…>, 9 months ago

Resolution: fixed
Status: newclosed

In 8338aca/git:

Fix macro expansion recursion on powerpc architectures.

Closes #5450

comment:5 by strk, 9 months ago

Resolution: fixed
Status: closedreopened
Version: master3.0.x

Reopening to backport to all supported branches, given the first report about this was against 3.0

comment:6 by Sandro Santilli <strk@…>, 9 months ago

In 95d9298/git:

Fix macro expansion recursion on powerpc architectures.

References #5450
References #4751
References #4752

Backport in 3.3 branch (3.3.4dev)

comment:7 by Sandro Santilli <strk@…>, 9 months ago

In d612282/git:

Fix macro expansion recursion on powerpc architectures.

References #5450
References #4751
References #4752

Backport in 3.2 branch (3.2.6dev)

comment:8 by Sandro Santilli <strk@…>, 9 months ago

In 72438b4/git:

Fix macro expansion recursion on powerpc architectures.

References #5450
References #4751
References #4752

Backport in 3.1 branch (3.1.10dev)

comment:9 by Sandro Santilli <strk@…>, 9 months ago

Resolution: fixed
Status: reopenedclosed

In 3b71790/git:

Fix macro expansion recursion on powerpc architectures.

Closes #5450
Closes #4751
Closes #4752

Backport in 3.0 branch (3.0.10dev)

comment:10 by Regina Obe <lr@…>, 9 months ago

In 09a0c95/git:

Correct the credit on the NEWS for powerpc architectures. References #5450

Note: See TracTickets for help on using tickets.