htm.core icon indicating copy to clipboard operation
htm.core copied to clipboard

Update dependencies to latest versions.

Open dkeeney opened this issue 3 years ago • 6 comments

Nearly all of the dependencies have significantly newer versions available. We need to update the URL's from which to get the dependencies so that we are using more recent versions.

dkeeney avatar Apr 04 '22 23:04 dkeeney

The following dependencies need to be updated:

  • eigen to 3.4.0 math library (header only)
  • googletest to 1.11.0 test environment (header only)
  • pybind11 to 2.9.2 python to C++ binding library (header only)
  • libyaml to 0.2.5, yaml parser (header only)
  • cpp-httplib to 0.10.4, a REST server (header only)
  • cereal to 1.3.2, serialization (header only)

dependency that do not need updating:

  • Boost, We only use this with old compilers. So don't bother changing it.
  • digestpp, No changes
  • mnist data set. We don't want to change the baseline so keep data the same. It might be good to update the mnist driver software however. -- separate Issue.

dkeeney avatar Apr 04 '22 23:04 dkeeney

I agree, we should bump these versions.

BTW: The MNIST data set does not ever change, its just the infrastructure that changes.

If you make the PR, I'd be happy to run a clean build & test on my platform: linux.

ctrl-z-9000-times avatar Apr 05 '22 12:04 ctrl-z-9000-times

Ok, I will take you up on that. We need a Mac to test with as well. Maybe I can setup a virtual Mac on my PC using VirtualBox.

I do have one problem where the de-pickle of everything found an incorrectly formatted Base64 encoded string causing the py unit tests to fail. (at bindings/py/tests/regions/network_test.py line 378). Just started to look at this. It would be helpful to know if this also happens on Linux.

I will check-in what I have so you can try it.

dkeeney avatar Apr 05 '22 13:04 dkeeney

Hi, Yes I get that error on linux (release mode): E RuntimeError: Exception: RegisteredRegionImplPy.hpp(132) message: Error: Invalid base64-encoded string: number of data characters (65) cannot be 1 more than a multiple of 4

ctrl-z-9000-times avatar Apr 05 '22 14:04 ctrl-z-9000-times

I was able to compile on OSX 12.3 with a just-now-cloned copy of htm.core. I had to remove the -Werror flag on line 282 of CommonCompilerConfig.cmake. python setup.py test returns this at the end:

===================================================================== short test summary info ======================================================================
FAILED algorithms/anomaly_likelihood_test.py::ArtificialAnomalyTest::testCaseIncreasedSpikeFrequency - AssertionError: False is not true
FAILED algorithms/anomaly_likelihood_test.py::ArtificialAnomalyTest::testCaseUnusuallyHighSpikeFrequency - AssertionError: False is not true
FAILED rest/htm_rest_api_test.py::HtmRestApiTest::testNetworkRESTBaseDelete - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8050...
===================================================== 3 failed, 150 passed, 2 skipped, 340 warnings in 44.24s ======================================================

finnoshea avatar Apr 06 '22 00:04 finnoshea

Cool. Yes, I get the first two errors on windows building with all new versions except pybind11. I assume you are using the latest master. So that means that these errors existed before my updates.

The third error in HtmRestApiTest that you received may be related to the Mac's network connections. That test tries to run two threads, one server and one client, and tries to make a connection between them.

dkeeney avatar Apr 06 '22 00:04 dkeeney