Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies to latest versions. #975

Open
dkeeney opened this issue Apr 4, 2022 · 6 comments
Open

Update dependencies to latest versions. #975

dkeeney opened this issue Apr 4, 2022 · 6 comments
Assignees
Labels

Comments

@dkeeney
Copy link

dkeeney commented Apr 4, 2022

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 dkeeney added the build label Apr 4, 2022
@dkeeney dkeeney self-assigned this Apr 4, 2022
@dkeeney
Copy link
Author

dkeeney commented Apr 4, 2022

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.

@ctrl-z-9000-times
Copy link
Collaborator

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.

@dkeeney
Copy link
Author

dkeeney commented Apr 5, 2022

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.

@ctrl-z-9000-times
Copy link
Collaborator

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

@finnoshea
Copy link

finnoshea commented Apr 6, 2022

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 ======================================================

@dkeeney
Copy link
Author

dkeeney commented Apr 6, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants