Thank you everyone for the feedback.
Marek, yes I'll have to take a look at the linux32 support you have submitted.
Won't there be issues with those .a files working on arm instead of x86?
Should we create a linux32arm folder as well, or can we remove all dependancies
on static libraries?
Matt, I'll look into the existing ticket when I get a chance and will
definitely issue a pull request once I get it working.
Since Subutai said that the Grouper code was not being used, I went in and
stubbed out all of the methods to see if the compile would get any further.
However, the build still failed with the following error:
In file included from /home/pi/nupic/nta/math/math.hpp:43:0,
from /home/pi/nupic/nta/algorithms/svm.hpp:81,
from /home/pi/nupic/nta/algorithms/svm.cpp:60:
/home/pi/nupic/nta/math/utils.hpp: In function ‘bool
nta::IsSystemLittleEndian()’:
/home/pi/nupic/nta/math/utils.hpp:77:64: warning: dereferencing type-punned
pointer will break strict-aliasing rules [-Wstrict-aliasing]
In file included from /home/pi/nupic/nta/math/SparseMatrix.hpp:37:0,
from /home/pi/nupic/nta/algorithms/CondProbTable.hpp:29,
from /home/pi/nupic/nta/algorithms/CondProbTable.cpp:29:
/home/pi/nupic/nta/math/utils.hpp: In function ‘bool
nta::IsSystemLittleEndian()’:
/home/pi/nupic/nta/math/utils.hpp:77:64: warning: dereferencing type-punned
pointer will break strict-aliasing rules [-Wstrict-aliasing]
{standard input}: Assembler messages:
{standard input}:20596: Error: bad immediate value for offset (4104)
{standard input}:32684: Error: bad immediate value for offset (4100)
make[2]: *** [libalgorithms_a-svm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
{standard input}: Assembler messages:
{standard input}:13897: Error: bad immediate value for offset (4112)
make[2]: *** [libalgorithms_a-CondProbTable.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
So the linker is not happy with something and it seems like it might be a
compiler bug. The Raspbian distro ships with gcc 4.6, so I upgraded to 4.7 and
the build completed. However, none of the test scripts exist in the
nta/eng/bin directory. I get the following output from the nupic/run_tests.sh
script:
pi@raspberrypi ~/nupic $ ./run_tests.sh
============================================ test session starts
=============================================
platform linux2 -- Python 2.7.3 -- pytest-2.4.0.dev8 -- /usr/bin/python
plugins: xdist, cov
collected 1 items / 15 errors
tests/external/py2/asteval_test.py:32: TestCase.testImportAndVersions PASSED
=================================================== ERRORS
===================================================
________________ ERROR collecting
tests/unit/py2/nupic/algorithms/cla_classifier_diff_test.py ________________
tests/unit/py2/nupic/algorithms/cla_classifier_diff_test.py:27: in <module>
> from nupic.algorithms.cla_classifier_diff import CLAClassifierDiff
E ImportError: No module named nupic.algorithms.cla_classifier_diff
__________________ ERROR collecting
tests/unit/py2/nupic/algorithms/cla_classifier_test.py ___________________
tests/unit/py2/nupic/algorithms/cla_classifier_test.py:32: in <module>
> from nupic.algorithms.CLAClassifier import CLAClassifier
E ImportError: No module named nupic.algorithms.CLAClassifier
___________ ERROR collecting
tests/unit/py2/nupic/bindings/algorithms/fast_cla_classifier_test.py
____________
tests/unit/py2/nupic/bindings/algorithms/fast_cla_classifier_test.py:33: in
<module>
> from nupic.bindings.algorithms import FastCLAClassifier
E ImportError: No module named nupic.bindings.algorithms
_______________________ ERROR collecting
tests/unit/py2/nupic/data/aggregator_test.py ________________________
tests/unit/py2/nupic/data/aggregator_test.py:27: in <module>
> from nupic.data import aggregator
E ImportError: No module named nupic.data
____________________ ERROR collecting
tests/unit/py2/nupic/data/inference_shifter_test.py ____________________
tests/unit/py2/nupic/data/inference_shifter_test.py:25: in <module>
> from nupic.data.inference_shifter import InferenceShifter
E ImportError: No module named nupic.data.inference_shifter
__________________________ ERROR collecting
tests/unit/py2/nupic/data/utils_test.py __________________________
tests/unit/py2/nupic/data/utils_test.py:27: in <module>
> from nupic.data import utils
E ImportError: No module named nupic.data
__________ ERROR collecting
tests/unit/py2/nupic/frameworks/opf/clamodel_classifier_helper_test.py
___________
tests/unit/py2/nupic/frameworks/opf/clamodel_classifier_helper_test.py:42: in
<module>
> import nupic.frameworks.opf.opfhelpers as opfhelpers
E ImportError: No module named nupic.frameworks.opf.opfhelpers
___________________ ERROR collecting
tests/unit/py2/nupic/frameworks/opf/clamodel_test.py ____________________
tests/unit/py2/nupic/frameworks/opf/clamodel_test.py:27: in <module>
> from nupic.frameworks.opf.clamodel import CLAModel
E ImportError: No module named nupic.frameworks.opf.clamodel
_______________ ERROR collecting
tests/unit/py2/nupic/frameworks/opf/safe_interpreter_test.py ________________
tests/unit/py2/nupic/frameworks/opf/safe_interpreter_test.py:31: in <module>
> from nupic.frameworks.opf.safe_interpreter import SafeInterpreter
E ImportError: No module named nupic.frameworks.opf.safe_interpreter
_______________________ ERROR collecting
tests/unit/py2/nupic/research/tp10x2_test.py ________________________
tests/unit/py2/nupic/research/tp10x2_test.py:27: in <module>
> from nupic.research.TP10X2 import TP10X2
E ImportError: No module named nupic.research.TP10X2
_________________________ ERROR collecting
tests/unit/py2/nupic/research/tp_test.py __________________________
tests/unit/py2/nupic/research/tp_test.py:37: in <module>
> from nupic.research import fdrutilities
E ImportError: No module named nupic.research
____________________ ERROR collecting
tests/unit/py2/nupic/support/configuration_test.py _____________________
tests/unit/py2/nupic/support/configuration_test.py:39: in <module>
> import nupic
E ImportError: No module named nupic
_________________ ERROR collecting
tests/unit/py2/nupic/support/custom_configuration_test.py _________________
tests/unit/py2/nupic/support/custom_configuration_test.py:41: in <module>
> import nupic
E ImportError: No module named nupic
_____________________ ERROR collecting
tests/unit/py2/nupic/support/object_json_test.py ______________________
tests/unit/py2/nupic/support/object_json_test.py:28: in <module>
> from nupic.data.inference_shifter import InferenceShifter
E ImportError: No module named nupic.data.inference_shifter
_______________ ERROR collecting
tests/unit/py2/regions/knn_anomaly_classifier_region_test.py ________________
tests/unit/py2/regions/knn_anomaly_classifier_region_test.py:20: in <module>
> from nupic.support.unittesthelpers.testcasebase import (unittest,
E ImportError: No module named nupic.support.unittesthelpers.testcasebase
==================================== 1 passed, 15 error in 13.24 seconds
=====================================
I can include the full build output log if anyone is interested.
Thanks,
Matt
On Aug 17, 2013, at 10:56 AM, Marek Otahal <[email protected]> wrote:
> also +1 on the cruft removal,
> there's some of it in PR #179, just added the "remove Grouper" there, thanks
> Subutai for clarification.
>
> Matt, we have a PR#176 for the linux32 support, that might come in handy for
> you. Just need sb to give me the swig and apr headers for 32bit.
>
>
>
> On Sat, Aug 17, 2013 at 3:08 PM, Hideaki Suzuki <[email protected]> wrote:
> +1 for old code removal.
>
> We can ask git to show it, whenever we need old code.
>
>
> 2013/8/17 Subutai Ahmad <[email protected]>
> Hi Matt,
>
> This is great, thanks! The Grouper code is actually not used in the CLA. It
> is an older machine learning algorithm we developed for doing temporal
> clustering of patterns.
>
> The NuPIC codebase includes a bunch of code from our previous generation of
> algorithms which we don't use anymore. We had them in our repository mostly
> for historical reasons. It might be worthwhile doing a serious pass at
> removing that cruft. I don't know what people feel about removing some of
> that code - any thoughts?
>
> --Subutai
>
>
> On Fri, Aug 16, 2013 at 3:33 PM, Matt Keith <[email protected]> wrote:
> Hello all,
>
> I have been trying to get a build to work on a Raspberry Pi. I have made
> some good progress and I thought that I would share my findings and see if
> anyone out there has any additional suggestions. The Raspbian (Debian)
> distribution seems to give the best performance, but I was able to make some
> headway on the Pidora (Fedora) build as well. Here is my current cookbook
> for building the code. You can get my source changes from
> https://github.com/keithcom/nupic .
>
> Start with the Raspbian Wheezy image
> - sudo apt-get update
> - sudo apt-get install automake libtool python-dev swig libapr1-dev
> libaprutil1-dev
> - install setuptools - https://pypi.python.org/pypi/setuptools/0.9.8
> - install pip - https://pypi.python.org/pypi/pip
> - install libyaml - http://pyyaml.org/wiki/LibYAML
> - git clone https://github.com/keithcom/nupic.git
> - edit .bashrc as per the README.md
> - create $NUPIC/external/linux32/lib dir and ln -s /usr/local/lib/libyaml.a
> there
> - $NUPIC/build.sh and wait
>
> Let me know if you would like my cookbook for the Pidora image.
>
> Note that I have added a new section to the
> external/common/include/cycle_counter.hpp file to try and use the system
> counter since there is no real time clock on the raspberry pi. I still need
> to find a define that is specific to the Pi to test for in the file and I
> haven't been able to test my code changes yet, but it should be a good start.
>
> Right now the code compiles through to the libalgorithms.a and dies on the
> Grouper.o with the following error:
> {standard input}: Assembler messages:
> {standard input}:19864: Error: co-processor offset out of range
> make[2]: *** [libalgorithms_a-Grouper.o] Error 1
>
> I welcome any and all feedback to help get this working.
>
> Thanks,
>
> Matt
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>
>
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>
>
>
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>
>
>
>
> --
> Marek Otahal :o)
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org