Yes, we should be able to just distribute an image file of the full system. I will need to do a clean build as my current system has a bunch of additional items installed as I was investigating the build process. Also, I would like to look into ways to shrink the image as I am currently on an 8 GB sd card to allow space for the OS, the 1 GB swap file and software.
I'm going to look into my changes in the cycle_counter.hpp file to see if that is causing the seg fault. The quest continues . . . Matt On Aug 21, 2013, at 5:43 AM, Georgios Pierris <[email protected]> wrote: > Great Matt! I am afraid I cannot help you with these errors, but I just > wanted to know, is it safe to assume that once you have compiled everything > you could "distribute" your sd clone with dd so that anyone else could get > started within minutes? > > Cheers, > Georgios > > > On Wed, Aug 21, 2013 at 3:19 AM, Matt Keith <[email protected]> wrote: > Success! Thank you so much Georgios for the helpful information. > > Ok, so the entire build finally completed on the Raspberry Pi after nearly 6 > hours! I had to increase the swap size to 1 GB to get it to complete without > blowing up. Developing on the Pi really brings back memories of this: > http://imgs.xkcd.com/comics/compiling.png > > That's the good news. Back to reality, it doesn't pass all of the tests. > > The first thing that I noticed is that the > external/linux32/lib/python/site-packages contains some .so files. I was > just using the files from the linux64 dir to try and get things to build, but > we need to get arm versions of the .so files in matplotlib, Crypto, and PIL. > So I used pip to install matplotlib and PIL and copied the dirs from the > system location to the nupic/external dirs. Then I installed python-crypto > with apt-get and copied the Crypto dir over. Is this a valid way to get the > libs? Does anyone know how the shared objects were built for the current > linux64 and darwin64 dirs? > > When I run the nupic/bin/run_tests.py it shows: > === 6 failed, 210 passed, 4 skipped in 275.98 seconds === > > The htmtest binary dies with a seg fault right after 'Adding a PyNode > region...'. And the testeverything app shows: > Found 40 test sets > WARNING: Caught exception: This exception should get caught. > ======= Tests for TesterTest ============== > Total tests: 10, Failures: 4, Disabled : 0 > WARNING: Critical failure ocurred > <snip> > FAIL Integer test, should fail (line: 50) > Expected result: 1 > Actual result: 0 > FAIL Double test, should fail (line: 51) > Expected result: 23.42 > Actual result: 23.421 > FAIL String test, should fail (line: 52) > Expected result: Numenta > Actual result: Numenta > <snip> > ERROR: Invalid NTA_BasicType -1 used in array constructor > [/home/pi/nupic/nta/ntypes/ArrayBase.cpp line 59] > ERROR: allocateBuffer -- buffer already set. Use releaseBuffer first > [/home/pi/nupic/nta/ntypes/ArrayBase.cpp line 80] > ERROR: allocateBuffer -- buffer already set. Use releaseBuffer first > [/home/pi/nupic/nta/ntypes/ArrayBase.cpp line 80] > ERROR: setBuffer -- buffer already set. Use releaseBuffer first > [/home/pi/nupic/nta/ntypes/ArrayBase.cpp line 97] > ======= Tests for ArrayTest ============== > Total tests: 72, Failures: 0, Disabled : 0 > All tests passed > <snip> > ======= Tests for BasicTypeTest ============== > Total tests: 47, Failures: 0, Disabled : 0 > All tests passed > <snip> > ======= Tests for BufferTest ============== > Total tests: 94, Failures: 0, Disabled : 0 > All tests passed > > ERROR: CHECK FAILED: "index < vec_.size()" > [/home/pi/nupic/nta/ntypes/Collection.cpp line 70] > ERROR: No item named: blah [/home/pi/nupic/nta/ntypes/Collection.cpp line 95] > ERROR: CHECK FAILED: "index < vec_.size()" > [/home/pi/nupic/nta/ntypes/Collection.cpp line 70] > ERROR: No item named: blah [/home/pi/nupic/nta/ntypes/Collection.cpp line 95] > ERROR: CHECK FAILED: "index < vec_.size()" > [/home/pi/nupic/nta/ntypes/Collection.cpp line 70] > ERROR: No item named: blah [/home/pi/nupic/nta/ntypes/Collection.cpp line 95] > ERROR: CHECK FAILED: "index < vec_.size()" > [/home/pi/nupic/nta/ntypes/Collection.cpp line 70] > ERROR: No item named: blah [/home/pi/nupic/nta/ntypes/Collection.cpp line 95] > ERROR: Unable to add item '0' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: Unable to add item '1' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: Unable to add item '2' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: No item named '4' in collection > [/home/pi/nupic/nta/ntypes/Collection.cpp line 127] > ERROR: No item named '1' in collection > [/home/pi/nupic/nta/ntypes/Collection.cpp line 127] > ERROR: Unable to add item '0' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: Unable to add item '1' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: Unable to add item '2' to collection because it already exists > [/home/pi/nupic/nta/ntypes/Collection.cpp line 107] > ERROR: No item named '1' in collection > [/home/pi/nupic/nta/ntypes/Collection.cpp line 127] > ERROR: No item named '0' in collection > [/home/pi/nupic/nta/ntypes/Collection.cpp line 127] > ======= Tests for CollectionTest ============== > Total tests: 199, Failures: 0, Disabled : 0 > All tests passed > <snip> > ======= Tests for CondProbTableTest ============== > Total tests: 115, Failures: 0, Disabled : 0 > All tests passed > <snip> > ======= Tests for DenseTensorUnitTest ============== > Total tests: 0, Failures: 0, Disabled : 0 > All tests passed > > ERROR: Attempt to get count from dimensions [unspecified] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 57] > ERROR: Bad request for dimension 0 on [unspecified] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 78] > ERROR: Invalid coordinate [1 2] for Dimensions [unspecified] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 171] > ERROR: Attempt to get count from dimensions [unspecified] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 57] > ERROR: Bad request for dimension 0 on [unspecified] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 78] > ERROR: Invalid coordinate index 0 of 0 is too large for region dimensions > [dontcare] [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 189] > ERROR: Attempt to get count from dimensions [dontcare] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 57] > ERROR: Invalid coordinate index 0 of 1 is too large for region dimensions [1 > 0] (invalid) [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 189] > ERROR: Attempt to get count from invalid dimensions [1 0] (invalid) > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 62] > ERROR: Bad request for dimension 2 on [1 0] (invalid) > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 78] > ERROR: Bad request for dimension 2 on [2 3] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 78] > ERROR: Bad request for dimension 2 on [2 5] > [/home/pi/nupic/nta/ntypes/Dimensions.cpp line 78] > ======= Tests for DimensionsTest ============== > Total tests: 205, Failures: 0, Disabled : 0 > All tests passed > > Let me know if you want the full output. Any idea of what piece might be > broken? > > Thanks, > > Matt > > On Aug 19, 2013, at 1:29 PM, Georgios Pierris <[email protected]> wrote: > >> Hello Matt, >> >> have a look on my comment in https://issues.numenta.org/browse/NPC-143 >> regarding the redefinition on swig. >> >> Cheers, >> Georgios >> >> >> On Mon, Aug 19, 2013 at 8:25 PM, Matt Keith <[email protected]> wrote: >> Mark, >> >> Your linux32 compiled .a files do not work in the ARM environment, so I >> think that we will need to create a new external/linux32arm dir to support >> that platform. I'll try to get the build working with that change. >> >> I didn't remove any of the grouper files, I just commented out the guts of >> all of the Grouper.cpp methods. However, the problem was with the gcc 4.6 >> compiler and not the code, so it just failed on some different files later >> in the build. Upgrading to gcc 4.7 fixed the issue. I'll add my +1 to >> removing the old code, but I don't think that it is an issue for raspberry >> pi anymore. >> >> I spoke a little too soon saying that the build completed in my last >> message. There was an error with apr.h buried in the build output that I >> missed and that is why none of the test scripts were created. I have >> corrected that error but now I am getting the following error with swig. >> >> make[2]: Entering directory `/tmp/ntabuild/lang/py/bindings/engine_internal' >> /bin/bash ../../../../libtool --tag=CXX --mode=compile g++ >> -DHAVE_CONFIG_H -I. -I/home/pi/nupic/lang/py/bindings/engine_internal >> -I../../../../build_system/unix -I/usr/include/python2.7 -I/home/pi/nupic >> -I/home/pi/nupic/external/linux32/include -DNUPIC2 -I/home/pi/nupic >> -I/home/pi/nupic/external/common/include >> -I/home/pi/nupic/external/linux32/include -fvisibility=hidden -DNTA_INTERNAL >> -g -DNTA_ASSERTIONS_ON -fPIC -DPIC -ffloat-store -D_PY27 >> -DNTA_PLATFORM_linux32 -Wall -Wreturn-type -Wunused-variable -Wno-deprecated >> -DBOOST_NO_WREGEX -DNTA_INSTRUMENT_ON -DNTA_PYTHON_SUPPORT=2.7 >> -DNTAPY_INCLUDE="<python2.7/" >> -DNTAPY_PACKAGES="\"lib/python2.7/site-packages\"" -I/usr/include >> -I/lib/python2.7/site-packages/numpy/core/include -O1 -falign-functions >> -DSWIG_TYPE_TABLE=_nupic_engine_internal -DNUPIC2 -MT >> _engine_internal_la-engine_internal_py.lo -MD -MP -MF >> .deps/_engine_internal_la-engine_internal_py.Tpo -c -o >> _engine_internal_la-engine_internal_py.lo `test -f 'engine_internal_py.cpp' >> || echo >> '/home/pi/nupic/lang/py/bindings/engine_internal/'`engine_internal_py.cpp >> libtool: compile: g++ -DHAVE_CONFIG_H -I. >> -I/home/pi/nupic/lang/py/bindings/engine_internal >> -I../../../../build_system/unix -I/usr/include/python2.7 -I/home/pi/nupic >> -I/home/pi/nupic/external/linux32/include -DNUPIC2 -I/home/pi/nupic >> -I/home/pi/nupic/external/common/include >> -I/home/pi/nupic/external/linux32/include -fvisibility=hidden -DNTA_INTERNAL >> -g -DNTA_ASSERTIONS_ON -fPIC -DPIC -ffloat-store -D_PY27 >> -DNTA_PLATFORM_linux32 -Wall -Wreturn-type -Wunused-variable -Wno-deprecated >> -DBOOST_NO_WREGEX -DNTA_INSTRUMENT_ON -DNTA_PYTHON_SUPPORT=2.7 >> "-DNTAPY_INCLUDE=<python2.7/" >> -DNTAPY_PACKAGES=\"lib/python2.7/site-packages\" -I/usr/include >> -I/lib/python2.7/site-packages/numpy/core/include -O1 -falign-functions >> -DSWIG_TYPE_TABLE=_nupic_engine_internal -DNUPIC2 -MT >> _engine_internal_la-engine_internal_py.lo -MD -MP -MF >> .deps/_engine_internal_la-engine_internal_py.Tpo -c engine_internal_py.cpp >> -fPIC -DPIC -o .libs/_engine_internal_la-engine_internal_py.o >> engine_internal_py.cpp:4455:22: error: redefinition of 'struct >> swig::traits<unsigned int>' >> engine_internal_py.cpp:4378:22: error: previous definition of 'struct >> swig::traits<unsigned int>' >> engine_internal_py.cpp:4459:23: error: redefinition of 'struct >> swig::traits_asval<unsigned int>' >> engine_internal_py.cpp:4382:23: error: previous definition of 'struct >> swig::traits_asval<unsigned int>' >> engine_internal_py.cpp:4465:23: error: redefinition of 'struct >> swig::traits_from<unsigned int>' >> engine_internal_py.cpp:4388:23: error: previous definition of 'struct >> swig::traits_from<unsigned int>' >> make[2]: *** [_engine_internal_la-engine_internal_py.lo] Error 1 >> >> I have not used swig before. Are there any swig experts out there that can >> point me the right direction? >> >> Thanks, >> >> Matt >> >> On Aug 19, 2013, at 2:47 AM, Marek Otahal <[email protected]> wrote: >> >>> Hi Matt, >>> >>> >>> On Sun, Aug 18, 2013 at 8:33 AM, Matt Keith <[email protected]> wrote: >>> 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? >>> I was wondering that too. Could you test, take the .a files from my linux32 >>> branch and place them in your ARM environment? >>> (I think it will be a prob and we'll need another platform to support) >>> >>> about removing all the static deps: I'm not sure now, as there are tickets >>> like linux64/darwin64-environment, ... But before I was told we want to >>> keep nupic as much self-contined as possible.(but building some of the libs >>> might be tricky, that's why the precompiled archives .a are present) Maybe >>> Scott can explain? >>> >>> PS: did you succeed removing the old Grouper classes, as Subutai mentioned >>> here? I tried just rm the related files, but it was quite connected to >>> other code too (so I wonder if that code is obsolete too, and can be >>> removed, or need be reworked) >>> >>> Regards, Mark >>> >>> >>> -- >>> 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 >> >> >> _______________________________________________ >> 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
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
