Roberto, This is really useful, thank you so much! I have a Pi 2 at home as well, and I tried for a few days to get NuPIC running on it, but also ran into similar issues. I gave up and moved onto other things, but I would love to get this problem solved so it is easier to install on a Pi.
Regards, --------- Matt Taylor OS Community Flag-Bearer Numenta On Mon, Jul 6, 2015 at 9:41 AM, Roberto Becerra <[email protected]> wrote: > Hi all, Nupic guys, and sorry for the long thread :P > > We have been working on porting Nupic to Raspberry PI 2 B, so far we have > successfully compiled and ran all the nupic system in a Linux 32 PC, we even > have notes that could be useful for others. > > We did this in on a 32-bit machine first to find out how to compile Nupic > properly, and once having that naively thought to the same steps in the PI. > > When we did so, we found a number of problems that have to do with the > Processor, we have been debugging them as we find them. We got all the way > to successfully compiling Nupic-Core. But when trying to compile Nupic using > the setup.py script, we found problems due to architecture issues (we > think). > > We think it has to do with linking flags between shared and static libraries > creating a position independent code (-fPIC). > > Looking for a solution to this we found that adding the -pie flag could > solve this issue, but instead we got some other problems that got us stuck > now, so now we turn to your wisdom, maybe you can spot what we are doing > wrong or what to do. > > This is the terminal output of the case before adding -pie > ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > platform linux > Using nupic.core binaries at /home/pi/nupic.core/build/release > ['-std=c++11', '-march=armv7-a', '-fPIC', '-fvisibility=hidden', '-Wall', > '-Wextra', '-Wreturn-type', '-Wunused', '-Wno-unused-parameter', > '-mtune=generic-armv7-a', '-O2'] > ['-march=armv7-a', '-fPIC', '-L/home/pi/nupic.core/build/release/lib', > '-lkj', '-lcapnp', '-lcapnpc', '-O2'] > /home/pi/nupic/external/linux32armv7/bin/swig -c++ -python -features > autodoc=0,directors=0 -noproxyimport -keyword -modern -modernargs > -noproxydel -fvirtual -fastunpack -nofastproxy -fastquery -outputtuple > -castmode -nosafecstrings -w402 -w503 -w511 -w302 -w362 -w312 -w389 > -DSWIG_PYTHON_LEGACY_BOOL > -I/home/pi/nupic/external/common/share/swig/3.0.2/python > -I/home/pi/nupic/external/common/share/swig/3.0.2 -DNUPIC2 -DNTA_OS_LINUX > -DNTA_ARCH_32 -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON > -DNTA_ASM -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > nupic/bindings/algorithms.i > AQUI ESTOY************************* > /home/pi/nupic/external/linux32armv7/bin/swig -c++ -python -features > autodoc=0,directors=0 -noproxyimport -keyword -modern -modernargs > -noproxydel -fvirtual -fastunpack -nofastproxy -fastquery -outputtuple > -castmode -nosafecstrings -w402 -w503 -w511 -w302 -w362 -w312 -w389 > -DSWIG_PYTHON_LEGACY_BOOL > -I/home/pi/nupic/external/common/share/swig/3.0.2/python > -I/home/pi/nupic/external/common/share/swig/3.0.2 -DNUPIC2 -DNTA_OS_LINUX > -DNTA_ARCH_32 -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON > -DNTA_ASM -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > nupic/bindings/engine_internal.i > AQUI ESTOY************************* > /home/pi/nupic/external/linux32armv7/bin/swig -c++ -python -features > autodoc=0,directors=0 -noproxyimport -keyword -modern -modernargs > -noproxydel -fvirtual -fastunpack -nofastproxy -fastquery -outputtuple > -castmode -nosafecstrings -w402 -w503 -w511 -w302 -w362 -w312 -w389 > -DSWIG_PYTHON_LEGACY_BOOL > -I/home/pi/nupic/external/common/share/swig/3.0.2/python > -I/home/pi/nupic/external/common/share/swig/3.0.2 -DNUPIC2 -DNTA_OS_LINUX > -DNTA_ARCH_32 -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON > -DNTA_ASM -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > nupic/bindings/math.i > AQUI ESTOY************************* > Despues de las extensiones > running install > running bdist_egg > running egg_info > writing requirements to nupic.egg-info/requires.txt > writing nupic.egg-info/PKG-INFO > writing top-level names to nupic.egg-info/top_level.txt > writing dependency_links to nupic.egg-info/dependency_links.txt > writing requirements to nupic.egg-info/requires.txt > writing nupic.egg-info/PKG-INFO > writing top-level names to nupic.egg-info/top_level.txt > writing dependency_links to nupic.egg-info/dependency_links.txt > reading manifest file 'nupic.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > writing manifest file 'nupic.egg-info/SOURCES.txt' > installing library code to build/bdist.linux-armv7l/egg > running install_lib > running build_py > copying nupic/bindings/proto/BitHistory.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/ClaClassifier.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/ConnectionsProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/LinkProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/Map.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/NetworkProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/RandomProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/RegionProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/SparseBinaryMatrixProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/SparseMatrixProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/SpatialPoolerProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/TemporalMemoryProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/TemporalMemoryV1.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/TestNodeProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > copying nupic/bindings/proto/VectorFileSensorProto.capnp -> > build/lib.linux-armv7l-2.7/nupic/bindings/proto > running build_ext > building 'nupic.libcpp_region' extension > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/NumpyVector.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/NumpyVector.o -std=c++11 > -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PyArray.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PyArray.o -std=c++11 > -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PyHelpers.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PyHelpers.o -std=c++11 > -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PythonStream.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PythonStream.o -std=c++11 > -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/cpp_region/PyRegion.cpp -o > build/temp.linux-armv7l-2.7/extensions/cpp_region/PyRegion.o -std=c++11 > -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c > extensions/cpp_region/unittests/PyHelpersTest.cpp -o > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o > -std=c++11 -march=armv7-a -fPIC -fvisibility=hidden -Wall -Wextra > -Wreturn-type -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro > build/temp.linux-armv7l-2.7/extensions/py_support/NumpyVector.o > build/temp.linux-armv7l-2.7/extensions/py_support/PyArray.o > build/temp.linux-armv7l-2.7/extensions/py_support/PyHelpers.o > build/temp.linux-armv7l-2.7/extensions/py_support/PythonStream.o > build/temp.linux-armv7l-2.7/extensions/cpp_region/PyRegion.o > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o > /home/pi/nupic.core/build/release/lib/libnupic_core.a -ldl -lpython2.7 -lkj > -lcapnp -lcapnpc -lpthread -o > build/lib.linux-armv7l-2.7/nupic/libcpp_region.so -march=armv7-a -fPIC > -L/home/pi/nupic.core/build/release/lib -lkj -lcapnp -lcapnpc -O2 > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text+0x34): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function `kj::ExceptionCallback::~ExceptionCallback()': > exception.c++:(.text+0x34): dangerous relocation: unsupported relocation > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text+0xd8): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function `kj::ExceptionCallback::~ExceptionCallback()': > exception.c++:(.text+0xd8): dangerous relocation: unsupported relocation > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text+0x38c): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function `kj::getExceptionCallback()': > exception.c++:(.text+0x38c): dangerous relocation: unsupported relocation > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text+0x750): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function `kj::ExceptionCallback::ExceptionCallback()': > exception.c++:(.text+0x750): dangerous relocation: unsupported relocation > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text._ZN2kj17ExceptionCallback21RootExceptionCallbackD2Ev[_ZN2kj17ExceptionCallback21RootExceptionCallbackD5Ev]+0x34): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function > `kj::ExceptionCallback::RootExceptionCallback::~RootExceptionCallback()': > exception.c++:(.text._ZN2kj17ExceptionCallback21RootExceptionCallbackD2Ev[_ZN2kj17ExceptionCallback21RootExceptionCallbackD5Ev]+0x34): > dangerous relocation: unsupported relocation > /usr/bin/ld: > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o)(.text._ZN2kj17ExceptionCallback21RootExceptionCallbackD0Ev[_ZN2kj17ExceptionCallback21RootExceptionCallbackD0Ev]+0x3c): > R_ARM_TLS_LE32 relocation not permitted in shared object > /home/pi/nupic.core/build/release/lib/libnupic_core.a(exception.o): In > function > `kj::ExceptionCallback::RootExceptionCallback::~RootExceptionCallback()': > exception.c++:(.text._ZN2kj17ExceptionCallback21RootExceptionCallbackD0Ev[_ZN2kj17ExceptionCallback21RootExceptionCallbackD0Ev]+0x3c): > dangerous relocation: unsupported relocation > collect2: error: ld returned 1 exit status > error: command 'g++' failed with exit status 1 > /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > > Then, adding the -pie flag, we got the following output: > > //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > building 'nupic.libcpp_region' extension > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/NumpyVector.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/NumpyVector.o -std=c++11 > -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PyArray.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PyArray.o -std=c++11 > -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PyHelpers.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PyHelpers.o -std=c++11 > -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/py_support/PythonStream.cpp -o > build/temp.linux-armv7l-2.7/extensions/py_support/PythonStream.o -std=c++11 > -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c extensions/cpp_region/PyRegion.cpp -o > build/temp.linux-armv7l-2.7/extensions/cpp_region/PyRegion.o -std=c++11 > -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra -Wreturn-type > -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall > -Wstrict-prototypes -fPIC -DNUPIC2 -DNTA_OS_LINUX -DNTA_ARCH_32 > -DNTA_PYTHON_SUPPORT=2.7 -DNTA_INTERNAL -DNTA_ASSERTIONS_ON -DNTA_ASM > -DHAVE_CONFIG_H -DBOOST_NO_WREGEX > -I/home/pi/nupic/external/linux32armv7/include > -I/home/pi/nupic/external/common/include -I/home/pi/nupic/extensions > -I/home/pi/nupic -I/home/pi/nupic.core/build/release/include > -I/usr/include/python2.7 > -I/usr/local/lib/python2.7/dist-packages/numpy/core/include > -I/usr/include/python2.7 -c > extensions/cpp_region/unittests/PyHelpersTest.cpp -o > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o > -std=c++11 -march=armv7-a -fPIC -pie -fvisibility=hidden -Wall -Wextra > -Wreturn-type -Wunused -Wno-unused-parameter -mtune=generic-armv7-a -O2 > cc1plus: warning: command line option '-Wstrict-prototypes' is valid for > C/ObjC but not for C++ [enabled by default] > g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro > build/temp.linux-armv7l-2.7/extensions/py_support/NumpyVector.o > build/temp.linux-armv7l-2.7/extensions/py_support/PyArray.o > build/temp.linux-armv7l-2.7/extensions/py_support/PyHelpers.o > build/temp.linux-armv7l-2.7/extensions/py_support/PythonStream.o > build/temp.linux-armv7l-2.7/extensions/cpp_region/PyRegion.o > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o > /home/pi/nupic.core/build/release/lib/libnupic_core.a -ldl -lpython2.7 -lkj > -lcapnp -lcapnpc -lpthread -o > build/lib.linux-armv7l-2.7/nupic/libcpp_region.so -march=armv7-a -fPIC -pie > -L/home/pi/nupic.core/build/release/lib -lkj -lcapnp -lcapnpc -O2 > /usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/Scrt1.o: > In function `_start': > (.text+0x54): undefined reference to `main' > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function `nupic::PyHelpersTest::RunTests()': > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:53: > undefined reference to `testing::internal::AlwaysTrue()' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:53: > undefined reference to > `testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, > char const*, int, char const*)' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:53: > undefined reference to `testing::Message::Message()' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:53: > undefined reference to > `testing::internal::AssertHelper::operator=(testing::Message const&) const' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:53: > undefined reference to `testing::internal::AssertHelper::~AssertHelper()' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:56: > undefined reference to > `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult > const&, char const*, char const*, char const*)' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:56: > undefined reference to > `testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, > char const*, int, char const*)' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:56: > undefined reference to `testing::Message::Message()' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:56: > undefined reference to > `testing::internal::AssertHelper::operator=(testing::Message const&) const' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:56: > undefined reference to `testing::internal::AssertHelper::~AssertHelper()' > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function > `testing::internal::scoped_ptr<std::string>::reset(std::string*)': > /home/pi/nupic.core/build/release/include/gtest/gtest.h:2016: undefined > reference to `testing::internal::IsTrue(bool)' > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function `nupic::PyHelpersTest::RunTests()': > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:57: > undefined reference to > `testing::internal::GetBoolAssertionFailureMessage(testing::AssertionResult > const&, char const*, char const*, char const*)' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:57: > undefined reference to > `testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, > char const*, int, char const*)' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:57: > undefined reference to `testing::Message::Message()' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:57: > undefined reference to > `testing::internal::AssertHelper::operator=(testing::Message const&) const' > /home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:57: > undefined reference to `testing::internal::AssertHelper::~AssertHelper()' > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function > `testing::internal::scoped_ptr<std::string>::reset(std::string*)': > /home/pi/nupic.core/build/release/include/gtest/gtest.h:2016: undefined > reference to `testing::internal::IsTrue(bool)' > [...] // more undefined references to blah blah... > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o:/home/pi/nupic/extensions/cpp_region/unittests/PyHelpersTest.cpp:414: > more undefined references to > `testing::internal::AssertHelper::~AssertHelper()' follow > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function > `testing::internal::scoped_ptr<std::string>::reset(std::string*)': > /home/pi/nupic.core/build/release/include/gtest/gtest.h:2016: undefined > reference to `testing::internal::IsTrue(bool)' > build/temp.linux-armv7l-2.7/extensions/cpp_region/unittests/PyHelpersTest.o: > In function `testing::internal::scoped_ptr<std::basic_stringstream<char, > std::char_traits<char>, std::allocator<char> > >>::reset(std::basic_stringstream<char, std::char_traits<char>, > std::allocator<char> >*)': > /home/pi/nupic.core/build/release/include/gtest/gtest.h:2016: undefined > reference to `testing::internal::IsTrue(bool)' > collect2: error: ld returned 1 exit status > error: command 'g++' failed with exit status 1 > /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > > thanks in advance guys! > > Roberto > >
