Closed TJamesCorcoran closed 8 years ago
Thanks for reporting. We've run into this problem in the build with one of our bindings enabled (see https://travis-ci.org/UpstandingHackers/hammer/jobs/111613865#L1092) but this is the first time someone's run into it without.
Reproduced on a stock Ubuntu 14.04 VM. Using gcc, scons
fails as you describe, though scons --variant=debug
works. -O2 and -O1 both fail, so I dumped all the -O1 flags into CFLAGS (except for -fdelayed-branch) … and it compiled successfully. However, under clang, both the optimised and debug variants build. Are you able to build the debug variant under gcc? How about clang?
@thequux suspects this may be an issue with gcc's nondeterminism. We'll keep investigating.
Turns out gcc -O<level> -Q --help=optimizers
shows you what optimisations are turned on for a certain optimization level. It also turns out the list is different from the one in the docs above. Still debugging.
For the record, we worked around a similar issue in the course of #155 before this surfaced in #160.
this
gives
this
uname -a
gives this