On Mon, Aug 17, 2015 at 7:28 PM, Schuyler St. Leger <schuyler.st.leger@gmail.com> wrote:
I am trying to build GNU Radio for Android and am having issues with the build process.I first tried building GNU Radio for Android on Mac OS X 10.10.4. I was able to follow the directions successfully until I had to build gr-grand. When I tried to build gr-grand I got this error (see error 1). I have tried searching for this error, but have not found any useful information from my search. I am not sure if this is an error with the build procedure, or if it is an error with the Android NDK and Python.
We'll have to spend some time looking into this. Most of use working on the Android stuff are using Linux -- generally Ubuntu, either 14.04 or 15.04 (I use both versions, depending on which machine I'm on). This could be a conflict with the installed Python and the one in the SDK, or possibly just a bug in the SDK.
Although, now that I think about it, there's no reason to SWIG gr-grand. You'll never use that in Python on Android; we only use the c++ library out, and specifically the static libgnuradio-grand.a library.
Maybe try adding the flag -DENABLE_PYTHON=False to the cmake line?
I then tried building GNU Radio for Android in a Ubuntu 14.04 64 bit VM, but when trying to stage Boost (./b2) I get this output from Boost (see error 2) and get an error about -march=armv7-m not being a supported compiler flag when Boost starts compiling. I have tried adding the toolset=gcc-android to Boost but this did not fix the problem (I had to do this on Mac to get Boost to use the configuration in the user-config.jam file).
Are you sure you want armv7-m? Most of what we're using is armv7-a. But you might just try "armv7" instead to use a more generic v7 architecture. Take a look at the gcc man page for a list of supported machines. This might be something you'll need to play around with.
I would like help getting this working, as I really want to get GNU Radio working on Android for me.Schuyler St. LegerError 1:
[ 80%] Building CXX object swig/CMakeFiles/_grand_swig.dir/grand_swigPYTHON_wrap.cxx.o
In file included from /opt/android-toolchain/include/python2.7/Python.h:58:0,
from /opt/grandroid/gr-grand/build/swig/grand_swigPYTHON_wrap.cxx:167:
/opt/android-toolchain/include/python2.7/pyport.h:1029:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
^
make[2]: *** [swig/CMakeFiles/_grand_swig.dir/grand_swigPYTHON_wrap.cxx.o] Error 1
make[1]: *** [swig/CMakeFiles/_grand_swig.dir/all] Error 2
make: *** [all] Error 2
Error 2:
Performing configuration checks
- 32-bit : no
- 64-bit : no
- arm : no
- mips1 : no
- power : no
- sparc : no
- x86 : no
- combined : no
- has_icu builds : no
- lockfree boost::atomic_flag : no
Yeah, when this is right, you should see 'yes' for 32-bit and arm.
FYI, I should be getting a 64-bit ARM soon and will see what changes are necessary there.
And if any of this helps and you do get it working, we should try to update the Android wiki page accordingly, either by fixing some of the instructions or with some side notes for these problems.
Tom
No comments:
Post a Comment