Issue #7830 has been updated by kremenek (Ted Kremenek).


-Werror-implicit-function-declaration isn't really an issue.  It is a standard warning with very clear semantics.  If Ruby always builds with that warning promoted to an error that's not likely to be an issue in practice.

The problem is when a new compiler (gcc, clang, or whatever) comes out with a *new* warning that is enabled by default, or changes some existing warning in a way that causes it to trigger in a way it did not before.  That will cause the build to break with -Werror.
----------------------------------------
Bug #7830: Ruby packages should not build with -Werror when distributed
https://bugs.ruby-lang.org/issues/7830#change-36199

Author: kremenek (Ted Kremenek)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: N/A


I represent the Clang compiler team at Apple, and I've heard some complaints that Clang does not work well for building Ruby.  Clearly we care that Clang can compile the Ruby sources.

The complaints seemed to have varied over time, but the most recent one that was reported to me seems captured by the following discussion:

  https://github.com/plamoni/SiriProxy/issues/436

Here the problem is that a warning is being promoted to an error via -Werror.  While -Werror is a great development tool, it is not a great mechanism to enable for distributing packages as sources.  Different compilers, and different versions of the same compiler, may issue different warnings, and using -Werror in source packages makes those packages very brittle to new compiler changes.  With Xcode releases, we frequently enable new (or existing) warnings by default that have shown to be quite useful to finding problems.  Those new warnings typically are great for development, but when coupled with -Werror and packaged sources (that aren't really changing) they can be disastrous.

I do not actively build Ruby myself, but I request that Ruby software packages should not be distributed with -Werror enabled.  This will greatly help users installing Ruby via homebrew or macports, and this likely will be an issue on other platforms besides OS X as well.


-- 
http://bugs.ruby-lang.org/