Upstream information: Sadly the situation is not that simple.
In the past we have run into several situations when surprisingly small differences in gcc made it binary incompatible. For example at one of our users had “gcc 4.1.2 20070115 (prerelease) (SUSE Linux)” we had built titan for “gcc 4.1.2 20070115 (SUSE Linux)”. Although all version numbers and even the date of build was the same, this difference resulted in the logmerge utility dropping every 3rd or so letter from its output. And these kind of issue come with some extra hard difficulties: - they manifest in random places in some an explainable behavior. - can’t be reproduced locally (since the core of the problem is that the user has something different than us) - usually it is hard to debug, since we will need root access to the users machine to do so. - and the source of the problem could be a incorrectly set environmental variable, one employee compiling his own gcc version, or some other external issue (in a big organization, when your test might also involve dozens of machines at the same time … such configuration problems are easy to run into). - etc.. So we have opted for having very strict checks, to protect both ourselves and our customers/users from such issues. Of course as we are open source, if you wish to relax these restrictions for your own system, you can do that in your own Titan build. (it’s just that we most probably will not be able to support any issue that comes from this change, as we might not be able to reproduce the change to begin with)

