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

Reply via email to