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

Reply via email to