Description of problem ---------------------- drgeo fails to build if "-Werror=format-security" flag is used. ... drgeo_postscriptdrawable.cc:133:52: error: format not a string literal and no format arguments [-Werror=format-security] drgeo_postscriptdrawable.cc:134:69: error: format not a string literal and no format arguments [-Werror=format-security] drgeo_postscriptdrawable.cc:210:52: error: format not a string literal and no format arguments [-Werror=format-security] drgeo_postscriptdrawable.cc:212:46: error: format not a string literal and no format arguments [-Werror=format-security] ... We are working on a proposal to enable "-Werror=format-security" for all packages. Once this flag is enabled, GCC will refuse to compile code that could be vulnerable to a string format security flaw. For more details, please see https://fedorahosted.org/fesco/ticket/1185 page. To understand why it is important to fix this, please see https://fedoraproject.org/wiki/Format-Security-FAQ page. How to fix this --------------- The fix for these errors is quite simple. It's a matter of changing a line like, printf(foo); to read, printf("%s", foo); That's it. Please fix this issue in rawhide with a patch (which you should submit to upstream to merge moving forward). Please do a new build with the fix in rawhide. Other releases do not need to be directly fixed, but there should be no harm in pushing out this fix/patch with other needed changes to those branches. In the event you don't fix this bug before the next mass rebuild, provenpackagers may step in and update your package(s) to fix this issue. How reproducible ---------------- Build drgeo-1.1.0-25.fc20.src.rpm with "-Werror=format-security" flag to reproduce the problem. To make this process easier, you can use a modified "redhat-rpm-config" package from http://people.fedoraproject.org/~halfie/artifacts/redhat-rpm-config/ URL. $ sha256sum redhat-rpm-config-9.1.0-56.fc20.* faad7594b2080fe76497d0ce50808c905a93dd7b41c1defdde5ca57e3833d3d2 redhat-rpm-config-9.1.0-56.fc20.noarch.rpm 5aa9357174305c7285ffdbc92d7ffe1c07a8a95d5459b930461308f5aad75413 redhat-rpm-config-9.1.0-56.fc20.src.rpm
Created attachment 908226 [details] Patch for rawhide Attaching patch for rawhide.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
With Yaakov Selkowitz' patch, the FTBFS is resolved, and it will build and run correctly on Fedora 18, but it fails to execute on Fedora 19 or newer due to incompatibilities with guile 1.9 and newer. Two of these incompatibilities have been resolved by a patch described by bhattigurjot: http://bhattigurjot.wordpress.com/2014/05/23/23-may-2014/ http://git.savannah.gnu.org/cgit/dr-geo.git/commit/?h=upgrade&id=4c4a75a77bf91c6840cfa9101f3eaabd8fee7dbd Unfortunately with that patch added, it still fails, with another Guile error: Backtrace: In ice-9/boot-9.scm: 157: 1 [catch #t #<catch-closure 286cdc0> ...] In unknown file: ?: 0 [apply-smob/1 #<catch-closure 286cdc0>] ERROR: In procedure apply-smob/1: ERROR: In procedure make-subr: Value out of range: 4528674 It's not at all obvious to me what's causing that. It may be possible to get it to work with compat-guile18. I'll give that a try.
Spec and SRPM with patches described above may be found at: http://fedorapeople.org/~brouhaha/drgeo/
Created attachment 908340 [details] compat-guile18 patch Eric, thanks for adopting this. (In reply to Eric Smith from comment #4) > With Yaakov Selkowitz' patch, the FTBFS is resolved, and it will build and > run correctly on Fedora 18, but it fails to execute on Fedora 19 or newer > due to incompatibilities with guile 1.9 and newer. Interesting, because the guile-2.0 patch was added before the F18 mass rebuild. > It may be possible to get it to work with compat-guile18. I'll give that a > try. This is probably the best solution, at least in the short term; additional patch attached.
The "guile-fixups" patch only handled the compile-time differences between guile 1.8 and 2.0. There are runtime differences as well, which the additional patch partially fixes. With your changes to use compat-guile18, it builds and executes correctly.