Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1037042 - drgeo FTBFS if "-Werror=format-security" flag is used
Summary: drgeo FTBFS if "-Werror=format-security" flag is used
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: drgeo
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Eric Smith
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1038083 1106158
TreeView+ depends on / blocked
 
Reported: 2013-12-03 02:59 UTC by Dhiru Kholia
Modified: 2014-06-13 04:58 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-13 04:58:50 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch for rawhide (5.38 KB, patch)
2014-06-12 17:42 UTC, Yaakov Selkowitz
no flags Details | Diff
compat-guile18 patch (1.67 KB, patch)
2014-06-13 01:38 UTC, Yaakov Selkowitz
no flags Details | Diff

Description Dhiru Kholia 2013-12-03 02:59:36 UTC
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

Comment 2 Yaakov Selkowitz 2014-06-12 17:42:26 UTC
Created attachment 908226 [details]
Patch for rawhide

Attaching patch for rawhide.

Comment 3 Fedora Admin XMLRPC Client 2014-06-12 20:51:12 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Eric Smith 2014-06-13 01:03:34 UTC
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.

Comment 5 Eric Smith 2014-06-13 01:10:03 UTC
Spec and SRPM with patches described above may be found at:

http://fedorapeople.org/~brouhaha/drgeo/

Comment 6 Yaakov Selkowitz 2014-06-13 01:38:59 UTC
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.

Comment 7 Eric Smith 2014-06-13 04:58:50 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.