xastir-2.1.0-2.fc31 fails to build in F31: gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/GraphicsMagick -I../src/shapelib -I/usr/local/include -I/usr/include/gdal -DXASTIR_DATA_BASE=\"/usr/share/xastir\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -Wpointer-arith -Wstrict-prototypes -Wno-unused-parameter -pthread -c -o map_geo.o map_geo.c [...] BUILDSTDERR: In file included from /usr/include/GraphicsMagick/magick/analyze.h:18, BUILDSTDERR: from /usr/include/GraphicsMagick/magick/api.h:55, BUILDSTDERR: from map_geo.c:137: BUILDSTDERR: /usr/include/GraphicsMagick/magick/image.h:1108:10: fatal error: magick/image-private.h: No such file or directory BUILDSTDERR: 1108 | #include "magick/image-private.h" BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~~ BUILDSTDERR: compilation terminated. BUILDSTDERR: make[3]: *** [Makefile:615: map_geo.o] Error 1 A difference between passing and failing build root is at <https://apps.fedoraproject.org/koschei/build/6585262>. An upgrade of GraphicsMagick-devel from 1.3.31-6.fc31 to 1.3.32-1.fc31 looks suspicious. A similar bug report with a fix in Debian <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924329#18>.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
Upstream fixed in with: commit 7b6ecce5769d9be56bf05c62767b344994c03624 Author: Tom Russo <russo> Date: Sun Jun 30 19:02:48 2019 -0600 Fix compilation failure with newer GraphicsMagick David Flood reported today that Xastir failed to compile for him, because of a missing file "magick/image-private.h", which was getting included by a GraphicsMagick header. Turns out this same issue has been cropping up in distro-specific bug reports all over the place lately: https://bugzilla.redhat.com/show_bug.cgi?id=1722840 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924329#18 And today, I tried to compile Xastir on FreeBSD only to find that on June 20th my own system had updated GraphicsMagick that exposed the same issue. This turns out to be a combination of mistakes in Xastir that have come back to bite us. In commit 4210671c37 back in 2007, an attempt to assure that map_geo consistently released memory whenever it exited introduced a call to the private function DestroyImagePixels, which was meant only to be called by the DestroyImage function. At the same time, great care was taken to make sure that DestroyImage was called at all exit points, so the call to DestroyImagePixels was unnecessary. Later, GM removed the public declaration of DestroyImagePixels and hid it behind an ifdef that was intended to be set only by GraphicsMagick source code. This led to a compilation warning in Xastir because the function, which is supposed to be "void DestroyImagePixels(Image image)" was used but implicitly declared as an int function with no prototype. To address this, instead of removing the unnecessary call, a definition of the private "MAGICK_IMPLEMENTATION" macro was added to assure that DestroyImagePixels' declaration was picked up. That was done in 2010 in commit f350db4. Since "draw_geo_image_map" is the only place where this function was ever called, and because all exit points of the function correctly call DestroyImage (which itself internally calls DestroyImagePixels), I am removing the inappropriate use of the private function *and* the definition of the MAGICK_IMPLEMENTATION macro. This should have no impact on memory bloat (since all returns of the function call DestroyImage), and should end the compilation problem for all distros for good. I'm going to apply the fix.
The patch was actually included in 2.1.4. So Fedora 32 is fixed. Fedora 31 is still affected.
This message is a reminder that Fedora 31 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '31'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 31 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 31 changed to end-of-life (EOL) status on 2020-11-24. Fedora 31 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.