numenta / nupic.core-legacy

Implementation of core NuPIC algorithms in C++ (under construction)
http://numenta.org
GNU Affero General Public License v3.0
272 stars 276 forks source link

Fix build by adding -Wno-error=terminate CXX flag #1415

Closed mewmew closed 6 years ago

mewmew commented 6 years ago

Fixes #1414.

mewmew commented 6 years ago

The CLA has been signed now.

mewmew commented 6 years ago

Is is possible to restart the continuous integration checks somehow?

rhyolight commented 6 years ago

@mewmew Sorry it took us so long to get to this. All the CI will restart whenever you push more code to the remote branch.

rhyolight commented 6 years ago

I have manually restarted the CI for CircleCI (OS X) and AppVeyor (Windows). They both seemed to have similar environment problems (seemingly unrelated to NuPIC).

mewmew commented 6 years ago

I have manually restarted the CI for CircleCI (OS X) and AppVeyor (Windows). They both seemed to have similar environment problems (seemingly unrelated to NuPIC).

I noticed that too, e.g. from https://ci.appveyor.com/project/numenta-ci/nupic-core/build/0.3.0.2359

 The C compiler
    "C:/Python27-x64/Scripts/gcc.exe"
  is not able to compile a simple test program.
rhyolight commented 6 years ago

Maybe your option will not work with their version of GCC?

breznak commented 6 years ago

Thanks for spotting the issue! It's related to non-throwing destructors in c++11, which gcc4.7+ apparently adheres to. https://stackoverflow.com/questions/42976461/exception-in-destructor-c The proposed global solution is not optimal, though.

A) Best option would be not to throw (aka NTA_CHECK) in the destructor ~Output() at all, although the comment explicitely mentions that we are aware of the "bad practice" but we need to check that.

B) I'm proposing a fix that only allows the behavior locally.

rhyolight commented 6 years ago

I think this can be considered fixed by #1432.